저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 ·...

87
저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의 조건을 따르는 경우에 한하여 자유롭게 l 이 저작물을 복제, 배포, 전송, 전시, 공연 및 방송할 수 있습니다. l 이차적 저작물을 작성할 수 있습니다. 다음과 같은 조건을 따라야 합니다: l 귀하는, 이 저작물의 재이용이나 배포의 경우, 이 저작물에 적용된 이용허락조건 을 명확하게 나타내어야 합니다. l 저작권자로부터 별도의 허가를 받으면 이러한 조건들은 적용되지 않습니다. 저작권법에 따른 이용자의 권리는 위의 내용에 의하여 영향을 받지 않습니다. 이것은 이용허락규약 ( Legal Code) 을 이해하기 쉽게 요약한 것입니다. Disclaimer 저작자표시. 귀하는 원저작자를 표시하여야 합니다. 비영리. 귀하는 이 저작물을 영리 목적으로 이용할 수 없습니다. 동일조건변경허락. 귀하가 이 저작물을 개작, 변형 또는 가공했을 경우 에는, 이 저작물과 동일한 이용허락조건하에서만 배포할 수 있습니다.

Upload: others

Post on 10-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

저 시-비 리-동 조건 경허락 20 한민

는 아래 조건 르는 경 에 한하여 게

l 저 물 복제 포 전송 전시 공연 송할 수 습니다

l 차적 저 물 성할 수 습니다

다 과 같 조건 라야 합니다

l 하는 저 물 나 포 경 저 물에 적 허락조건 확하게 나타내어야 합니다

l 저 터 허가를 러한 조건들 적 지 않습니다

저 에 른 리는 내 에 하여 향 지 않습니다

것 허락규약(Legal Code) 해하 쉽게 약한 것 니다

Disclaimer

저 시 하는 원저 를 시하여야 합니다

비 리 하는 저 물 리 적 할 수 없습니다

동 조건 경허락 하가 저 물 개 형 또는 가공했 경에는 저 물과 동 한 허락조건하에서만 포할 수 습니다

工學碩士學位 請求論文

스테레오 비젼을 이용한 6족 로봇의

국소 맵 빌딩 및 걸음새 구현

Development of Stereo Vision Based Local Map

Building and Walking Pattern for Hexapod Robot

2009 年 2 月

仁荷大學校 大學院

電氣工學部(制御 및 시스템 專攻)

金 起 佑

工學碩士學位 請求論文

스테레오 비젼을 이용한 6족 로봇의

국소 맵 빌딩 및 걸음새 구현

Development of Stereo Vision Based Local Map

Building and Walking Pattern for Hexapod Robot

2009 年 2 月

指導敎授 金 振 桀

이 論文을 碩士學位 論文으로 提出함

仁荷大學校 大學院

電氣工學科(制御 및 시스템 專攻)

金 起 佑

이 論文을 金起佑 의 碩士學位 論文으로 認准함

2009年 2月

主審 권 오 규

副審 김 진 걸

委員 이 영 삼

i

목 차

목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표 목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 2

2 스테레오 시각 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 스테레오 영상시스템 기구설계helliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 카메라 보정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

23 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

231 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

232 외부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

24 스테레오 카메라helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

241 영상의 평행화 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

242 카메라 보정과 평행화 결과helliphelliphelliphelliphelliphelliphelliphelliphellip 14

3 6족 로봇의 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

31 기구적 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

32 제어기 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 로봇 구동 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

ii

331 로봇의 기구학적 해석helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

331 모션 데이터 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

4 변위지도 생성과 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

41 전처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

42 이미지 상관관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

43 후처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 30

44 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

5 로봇의 경로생성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 포텐셜 필드를 사용한 경로계획 방법helliphelliphelliphelliphelliphelliphellip 36

511 포텐셜 필드 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

512 포텐셜 필드 방법을 사용한 경로생성helliphelliphelliphellip 39

52 장애물을 넘을 수 있는 경우의 경로계획helliphelliphelliphelliphellip 42

53 두 가지를 혼합한 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

6 실험 결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

61 포텐셜필드 방법을 사용한 경로추종 실험helliphelliphelliphelliphellip 49

62 로봇의 역기구학을 이용한 장애물 넘기 동작 실험hellip 55

63 포텐셜필드 방법과 넘기 동작의 혼합방법helliphelliphelliphelliphellip 61

7 결론 및 향후 과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 66

참고 문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 68

부록 A ISHURO의 역기구학 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 72

부록 B 모션 제어기 명령어 테이블 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 75

iii

그림 목차

그림 211 스테레오 영상처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

그림 231 영상과 실 세계의 관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 2311 카메라 렌즈의 왜곡helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 2321 에피폴라 기하학helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 2421 카메라 대응점 추출과 정합helliphelliphelliphelliphelliphelliphellip helliphellip 15

그림 311 로봇의 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

그림 312 로봇 다리의 세부 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 313 변형 가능한 6족 로봇 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

그림 321 로봇 시스템 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

그림 3311 로봇의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 3321모션 데이터 구조와 전송 알고리즘helliphelliphelliphelliphelliphellip 25

그림 411 교정된 이미지와 변위지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 412 OpenGL기반의 변위지도 3D재구성 helliphelliphelliphelliphelliphellip 28

그림 421 대응점 상관관계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

그림 441 변위지도의 명도 기울기 차이helliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 442 제안된 알고리즘으로 구한 장애물helliphelliphelliphelliphelliphelliphellip 32

그림 443 라벨링된 장애물들helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 51 원으로 근사화된 장애물helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

그림 52 경로생성 방법 선택과정 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 5111 포텐셜 필드 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

iv

그림 5121 포텐셜 필드 방법을 이용한 경로생성과 장애물

표현helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 5121 경유점간의 거리와 각도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 5122 주행 시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 521 직선과 원의 교점helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 522 일반보행시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

그림 523 장애물을 통과 보행시뮬레이션 결과helliphelliphelliphelliphelliphellip 47

그림 53 혼합 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 611 포텐셜필드 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphellip 50

그림 612 포텐셜필드 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphellip 50

그림 613 포텐셜필드 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphellip 51

그림 614 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 614 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

그림 621 통과 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 622 통과 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 623 통과 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 57

그림 624 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 59

그림 624 통과방법을 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 61

그림 631 혼합 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 632 혼합 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 634 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 64

그림 634 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 65

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 2: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

工學碩士學位 請求論文

스테레오 비젼을 이용한 6족 로봇의

국소 맵 빌딩 및 걸음새 구현

Development of Stereo Vision Based Local Map

Building and Walking Pattern for Hexapod Robot

2009 年 2 月

仁荷大學校 大學院

電氣工學部(制御 및 시스템 專攻)

金 起 佑

工學碩士學位 請求論文

스테레오 비젼을 이용한 6족 로봇의

국소 맵 빌딩 및 걸음새 구현

Development of Stereo Vision Based Local Map

Building and Walking Pattern for Hexapod Robot

2009 年 2 月

指導敎授 金 振 桀

이 論文을 碩士學位 論文으로 提出함

仁荷大學校 大學院

電氣工學科(制御 및 시스템 專攻)

金 起 佑

이 論文을 金起佑 의 碩士學位 論文으로 認准함

2009年 2月

主審 권 오 규

副審 김 진 걸

委員 이 영 삼

i

목 차

목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표 목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 2

2 스테레오 시각 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 스테레오 영상시스템 기구설계helliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 카메라 보정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

23 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

231 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

232 외부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

24 스테레오 카메라helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

241 영상의 평행화 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

242 카메라 보정과 평행화 결과helliphelliphelliphelliphelliphelliphelliphelliphellip 14

3 6족 로봇의 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

31 기구적 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

32 제어기 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 로봇 구동 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

ii

331 로봇의 기구학적 해석helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

331 모션 데이터 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

4 변위지도 생성과 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

41 전처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

42 이미지 상관관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

43 후처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 30

44 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

5 로봇의 경로생성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 포텐셜 필드를 사용한 경로계획 방법helliphelliphelliphelliphelliphelliphellip 36

511 포텐셜 필드 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

512 포텐셜 필드 방법을 사용한 경로생성helliphelliphelliphellip 39

52 장애물을 넘을 수 있는 경우의 경로계획helliphelliphelliphelliphellip 42

53 두 가지를 혼합한 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

6 실험 결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

61 포텐셜필드 방법을 사용한 경로추종 실험helliphelliphelliphelliphellip 49

62 로봇의 역기구학을 이용한 장애물 넘기 동작 실험hellip 55

63 포텐셜필드 방법과 넘기 동작의 혼합방법helliphelliphelliphelliphellip 61

7 결론 및 향후 과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 66

참고 문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 68

부록 A ISHURO의 역기구학 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 72

부록 B 모션 제어기 명령어 테이블 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 75

iii

그림 목차

그림 211 스테레오 영상처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

그림 231 영상과 실 세계의 관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 2311 카메라 렌즈의 왜곡helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 2321 에피폴라 기하학helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 2421 카메라 대응점 추출과 정합helliphelliphelliphelliphelliphelliphellip helliphellip 15

그림 311 로봇의 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

그림 312 로봇 다리의 세부 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 313 변형 가능한 6족 로봇 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

그림 321 로봇 시스템 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

그림 3311 로봇의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 3321모션 데이터 구조와 전송 알고리즘helliphelliphelliphelliphelliphellip 25

그림 411 교정된 이미지와 변위지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 412 OpenGL기반의 변위지도 3D재구성 helliphelliphelliphelliphelliphellip 28

그림 421 대응점 상관관계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

그림 441 변위지도의 명도 기울기 차이helliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 442 제안된 알고리즘으로 구한 장애물helliphelliphelliphelliphelliphelliphellip 32

그림 443 라벨링된 장애물들helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 51 원으로 근사화된 장애물helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

그림 52 경로생성 방법 선택과정 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 5111 포텐셜 필드 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

iv

그림 5121 포텐셜 필드 방법을 이용한 경로생성과 장애물

표현helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 5121 경유점간의 거리와 각도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 5122 주행 시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 521 직선과 원의 교점helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 522 일반보행시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

그림 523 장애물을 통과 보행시뮬레이션 결과helliphelliphelliphelliphelliphellip 47

그림 53 혼합 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 611 포텐셜필드 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphellip 50

그림 612 포텐셜필드 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphellip 50

그림 613 포텐셜필드 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphellip 51

그림 614 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 614 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

그림 621 통과 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 622 통과 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 623 통과 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 57

그림 624 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 59

그림 624 통과방법을 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 61

그림 631 혼합 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 632 혼합 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 634 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 64

그림 634 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 65

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 3: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

工學碩士學位 請求論文

스테레오 비젼을 이용한 6족 로봇의

국소 맵 빌딩 및 걸음새 구현

Development of Stereo Vision Based Local Map

Building and Walking Pattern for Hexapod Robot

2009 年 2 月

指導敎授 金 振 桀

이 論文을 碩士學位 論文으로 提出함

仁荷大學校 大學院

電氣工學科(制御 및 시스템 專攻)

金 起 佑

이 論文을 金起佑 의 碩士學位 論文으로 認准함

2009年 2月

主審 권 오 규

副審 김 진 걸

委員 이 영 삼

i

목 차

목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표 목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 2

2 스테레오 시각 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 스테레오 영상시스템 기구설계helliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 카메라 보정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

23 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

231 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

232 외부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

24 스테레오 카메라helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

241 영상의 평행화 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

242 카메라 보정과 평행화 결과helliphelliphelliphelliphelliphelliphelliphelliphellip 14

3 6족 로봇의 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

31 기구적 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

32 제어기 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 로봇 구동 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

ii

331 로봇의 기구학적 해석helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

331 모션 데이터 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

4 변위지도 생성과 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

41 전처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

42 이미지 상관관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

43 후처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 30

44 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

5 로봇의 경로생성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 포텐셜 필드를 사용한 경로계획 방법helliphelliphelliphelliphelliphelliphellip 36

511 포텐셜 필드 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

512 포텐셜 필드 방법을 사용한 경로생성helliphelliphelliphellip 39

52 장애물을 넘을 수 있는 경우의 경로계획helliphelliphelliphelliphellip 42

53 두 가지를 혼합한 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

6 실험 결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

61 포텐셜필드 방법을 사용한 경로추종 실험helliphelliphelliphelliphellip 49

62 로봇의 역기구학을 이용한 장애물 넘기 동작 실험hellip 55

63 포텐셜필드 방법과 넘기 동작의 혼합방법helliphelliphelliphelliphellip 61

7 결론 및 향후 과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 66

참고 문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 68

부록 A ISHURO의 역기구학 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 72

부록 B 모션 제어기 명령어 테이블 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 75

iii

그림 목차

그림 211 스테레오 영상처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

그림 231 영상과 실 세계의 관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 2311 카메라 렌즈의 왜곡helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 2321 에피폴라 기하학helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 2421 카메라 대응점 추출과 정합helliphelliphelliphelliphelliphelliphellip helliphellip 15

그림 311 로봇의 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

그림 312 로봇 다리의 세부 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 313 변형 가능한 6족 로봇 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

그림 321 로봇 시스템 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

그림 3311 로봇의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 3321모션 데이터 구조와 전송 알고리즘helliphelliphelliphelliphelliphellip 25

그림 411 교정된 이미지와 변위지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 412 OpenGL기반의 변위지도 3D재구성 helliphelliphelliphelliphelliphellip 28

그림 421 대응점 상관관계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

그림 441 변위지도의 명도 기울기 차이helliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 442 제안된 알고리즘으로 구한 장애물helliphelliphelliphelliphelliphelliphellip 32

그림 443 라벨링된 장애물들helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 51 원으로 근사화된 장애물helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

그림 52 경로생성 방법 선택과정 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 5111 포텐셜 필드 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

iv

그림 5121 포텐셜 필드 방법을 이용한 경로생성과 장애물

표현helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 5121 경유점간의 거리와 각도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 5122 주행 시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 521 직선과 원의 교점helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 522 일반보행시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

그림 523 장애물을 통과 보행시뮬레이션 결과helliphelliphelliphelliphelliphellip 47

그림 53 혼합 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 611 포텐셜필드 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphellip 50

그림 612 포텐셜필드 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphellip 50

그림 613 포텐셜필드 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphellip 51

그림 614 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 614 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

그림 621 통과 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 622 통과 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 623 통과 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 57

그림 624 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 59

그림 624 통과방법을 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 61

그림 631 혼합 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 632 혼합 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 634 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 64

그림 634 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 65

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 4: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

이 論文을 金起佑 의 碩士學位 論文으로 認准함

2009年 2月

主審 권 오 규

副審 김 진 걸

委員 이 영 삼

i

목 차

목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표 목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 2

2 스테레오 시각 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 스테레오 영상시스템 기구설계helliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 카메라 보정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

23 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

231 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

232 외부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

24 스테레오 카메라helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

241 영상의 평행화 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

242 카메라 보정과 평행화 결과helliphelliphelliphelliphelliphelliphelliphelliphellip 14

3 6족 로봇의 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

31 기구적 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

32 제어기 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 로봇 구동 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

ii

331 로봇의 기구학적 해석helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

331 모션 데이터 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

4 변위지도 생성과 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

41 전처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

42 이미지 상관관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

43 후처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 30

44 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

5 로봇의 경로생성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 포텐셜 필드를 사용한 경로계획 방법helliphelliphelliphelliphelliphelliphellip 36

511 포텐셜 필드 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

512 포텐셜 필드 방법을 사용한 경로생성helliphelliphelliphellip 39

52 장애물을 넘을 수 있는 경우의 경로계획helliphelliphelliphelliphellip 42

53 두 가지를 혼합한 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

6 실험 결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

61 포텐셜필드 방법을 사용한 경로추종 실험helliphelliphelliphelliphellip 49

62 로봇의 역기구학을 이용한 장애물 넘기 동작 실험hellip 55

63 포텐셜필드 방법과 넘기 동작의 혼합방법helliphelliphelliphelliphellip 61

7 결론 및 향후 과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 66

참고 문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 68

부록 A ISHURO의 역기구학 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 72

부록 B 모션 제어기 명령어 테이블 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 75

iii

그림 목차

그림 211 스테레오 영상처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

그림 231 영상과 실 세계의 관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 2311 카메라 렌즈의 왜곡helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 2321 에피폴라 기하학helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 2421 카메라 대응점 추출과 정합helliphelliphelliphelliphelliphelliphellip helliphellip 15

그림 311 로봇의 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

그림 312 로봇 다리의 세부 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 313 변형 가능한 6족 로봇 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

그림 321 로봇 시스템 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

그림 3311 로봇의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 3321모션 데이터 구조와 전송 알고리즘helliphelliphelliphelliphelliphellip 25

그림 411 교정된 이미지와 변위지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 412 OpenGL기반의 변위지도 3D재구성 helliphelliphelliphelliphelliphellip 28

그림 421 대응점 상관관계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

그림 441 변위지도의 명도 기울기 차이helliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 442 제안된 알고리즘으로 구한 장애물helliphelliphelliphelliphelliphelliphellip 32

그림 443 라벨링된 장애물들helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 51 원으로 근사화된 장애물helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

그림 52 경로생성 방법 선택과정 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 5111 포텐셜 필드 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

iv

그림 5121 포텐셜 필드 방법을 이용한 경로생성과 장애물

표현helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 5121 경유점간의 거리와 각도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 5122 주행 시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 521 직선과 원의 교점helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 522 일반보행시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

그림 523 장애물을 통과 보행시뮬레이션 결과helliphelliphelliphelliphelliphellip 47

그림 53 혼합 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 611 포텐셜필드 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphellip 50

그림 612 포텐셜필드 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphellip 50

그림 613 포텐셜필드 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphellip 51

그림 614 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 614 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

그림 621 통과 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 622 통과 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 623 통과 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 57

그림 624 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 59

그림 624 통과방법을 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 61

그림 631 혼합 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 632 혼합 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 634 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 64

그림 634 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 65

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 5: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

i

목 차

목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표 목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 2

2 스테레오 시각 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 스테레오 영상시스템 기구설계helliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 카메라 보정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

23 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

231 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

232 외부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

24 스테레오 카메라helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

241 영상의 평행화 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

242 카메라 보정과 평행화 결과helliphelliphelliphelliphelliphelliphelliphelliphellip 14

3 6족 로봇의 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

31 기구적 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 17

32 제어기 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 로봇 구동 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

ii

331 로봇의 기구학적 해석helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

331 모션 데이터 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

4 변위지도 생성과 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

41 전처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

42 이미지 상관관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

43 후처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 30

44 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

5 로봇의 경로생성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 포텐셜 필드를 사용한 경로계획 방법helliphelliphelliphelliphelliphelliphellip 36

511 포텐셜 필드 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

512 포텐셜 필드 방법을 사용한 경로생성helliphelliphelliphellip 39

52 장애물을 넘을 수 있는 경우의 경로계획helliphelliphelliphelliphellip 42

53 두 가지를 혼합한 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

6 실험 결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

61 포텐셜필드 방법을 사용한 경로추종 실험helliphelliphelliphelliphellip 49

62 로봇의 역기구학을 이용한 장애물 넘기 동작 실험hellip 55

63 포텐셜필드 방법과 넘기 동작의 혼합방법helliphelliphelliphelliphellip 61

7 결론 및 향후 과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 66

참고 문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 68

부록 A ISHURO의 역기구학 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 72

부록 B 모션 제어기 명령어 테이블 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 75

iii

그림 목차

그림 211 스테레오 영상처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

그림 231 영상과 실 세계의 관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 2311 카메라 렌즈의 왜곡helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 2321 에피폴라 기하학helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 2421 카메라 대응점 추출과 정합helliphelliphelliphelliphelliphelliphellip helliphellip 15

그림 311 로봇의 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

그림 312 로봇 다리의 세부 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 313 변형 가능한 6족 로봇 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

그림 321 로봇 시스템 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

그림 3311 로봇의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 3321모션 데이터 구조와 전송 알고리즘helliphelliphelliphelliphelliphellip 25

그림 411 교정된 이미지와 변위지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 412 OpenGL기반의 변위지도 3D재구성 helliphelliphelliphelliphelliphellip 28

그림 421 대응점 상관관계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

그림 441 변위지도의 명도 기울기 차이helliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 442 제안된 알고리즘으로 구한 장애물helliphelliphelliphelliphelliphelliphellip 32

그림 443 라벨링된 장애물들helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 51 원으로 근사화된 장애물helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

그림 52 경로생성 방법 선택과정 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 5111 포텐셜 필드 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

iv

그림 5121 포텐셜 필드 방법을 이용한 경로생성과 장애물

표현helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 5121 경유점간의 거리와 각도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 5122 주행 시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 521 직선과 원의 교점helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 522 일반보행시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

그림 523 장애물을 통과 보행시뮬레이션 결과helliphelliphelliphelliphelliphellip 47

그림 53 혼합 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 611 포텐셜필드 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphellip 50

그림 612 포텐셜필드 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphellip 50

그림 613 포텐셜필드 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphellip 51

그림 614 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 614 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

그림 621 통과 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 622 통과 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 623 통과 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 57

그림 624 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 59

그림 624 통과방법을 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 61

그림 631 혼합 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 632 혼합 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 634 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 64

그림 634 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 65

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 6: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

ii

331 로봇의 기구학적 해석helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

331 모션 데이터 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

4 변위지도 생성과 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

41 전처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

42 이미지 상관관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

43 후처리 과정helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 30

44 장애물 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

5 로봇의 경로생성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 포텐셜 필드를 사용한 경로계획 방법helliphelliphelliphelliphelliphelliphellip 36

511 포텐셜 필드 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

512 포텐셜 필드 방법을 사용한 경로생성helliphelliphelliphellip 39

52 장애물을 넘을 수 있는 경우의 경로계획helliphelliphelliphelliphellip 42

53 두 가지를 혼합한 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

6 실험 결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

61 포텐셜필드 방법을 사용한 경로추종 실험helliphelliphelliphelliphellip 49

62 로봇의 역기구학을 이용한 장애물 넘기 동작 실험hellip 55

63 포텐셜필드 방법과 넘기 동작의 혼합방법helliphelliphelliphelliphellip 61

7 결론 및 향후 과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 66

참고 문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 68

부록 A ISHURO의 역기구학 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 72

부록 B 모션 제어기 명령어 테이블 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 75

iii

그림 목차

그림 211 스테레오 영상처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

그림 231 영상과 실 세계의 관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 2311 카메라 렌즈의 왜곡helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 2321 에피폴라 기하학helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 2421 카메라 대응점 추출과 정합helliphelliphelliphelliphelliphelliphellip helliphellip 15

그림 311 로봇의 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

그림 312 로봇 다리의 세부 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 313 변형 가능한 6족 로봇 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

그림 321 로봇 시스템 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

그림 3311 로봇의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 3321모션 데이터 구조와 전송 알고리즘helliphelliphelliphelliphelliphellip 25

그림 411 교정된 이미지와 변위지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 412 OpenGL기반의 변위지도 3D재구성 helliphelliphelliphelliphelliphellip 28

그림 421 대응점 상관관계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

그림 441 변위지도의 명도 기울기 차이helliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 442 제안된 알고리즘으로 구한 장애물helliphelliphelliphelliphelliphelliphellip 32

그림 443 라벨링된 장애물들helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 51 원으로 근사화된 장애물helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

그림 52 경로생성 방법 선택과정 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 5111 포텐셜 필드 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

iv

그림 5121 포텐셜 필드 방법을 이용한 경로생성과 장애물

표현helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 5121 경유점간의 거리와 각도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 5122 주행 시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 521 직선과 원의 교점helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 522 일반보행시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

그림 523 장애물을 통과 보행시뮬레이션 결과helliphelliphelliphelliphelliphellip 47

그림 53 혼합 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 611 포텐셜필드 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphellip 50

그림 612 포텐셜필드 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphellip 50

그림 613 포텐셜필드 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphellip 51

그림 614 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 614 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

그림 621 통과 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 622 통과 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 623 통과 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 57

그림 624 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 59

그림 624 통과방법을 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 61

그림 631 혼합 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 632 혼합 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 634 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 64

그림 634 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 65

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 7: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

iii

그림 목차

그림 211 스테레오 영상처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

그림 231 영상과 실 세계의 관계helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 2311 카메라 렌즈의 왜곡helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 2321 에피폴라 기하학helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 2421 카메라 대응점 추출과 정합helliphelliphelliphelliphelliphelliphellip helliphellip 15

그림 311 로봇의 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

그림 312 로봇 다리의 세부 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 313 변형 가능한 6족 로봇 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

그림 321 로봇 시스템 구조helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 22

그림 3311 로봇의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 3321모션 데이터 구조와 전송 알고리즘helliphelliphelliphelliphelliphellip 25

그림 411 교정된 이미지와 변위지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 412 OpenGL기반의 변위지도 3D재구성 helliphelliphelliphelliphelliphellip 28

그림 421 대응점 상관관계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

그림 441 변위지도의 명도 기울기 차이helliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 442 제안된 알고리즘으로 구한 장애물helliphelliphelliphelliphelliphelliphellip 32

그림 443 라벨링된 장애물들helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 51 원으로 근사화된 장애물helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

그림 52 경로생성 방법 선택과정 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 5111 포텐셜 필드 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

iv

그림 5121 포텐셜 필드 방법을 이용한 경로생성과 장애물

표현helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 5121 경유점간의 거리와 각도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 5122 주행 시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 521 직선과 원의 교점helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 522 일반보행시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

그림 523 장애물을 통과 보행시뮬레이션 결과helliphelliphelliphelliphelliphellip 47

그림 53 혼합 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 611 포텐셜필드 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphellip 50

그림 612 포텐셜필드 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphellip 50

그림 613 포텐셜필드 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphellip 51

그림 614 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 614 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

그림 621 통과 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 622 통과 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 623 통과 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 57

그림 624 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 59

그림 624 통과방법을 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 61

그림 631 혼합 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 632 혼합 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 634 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 64

그림 634 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 65

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 8: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

iv

그림 5121 포텐셜 필드 방법을 이용한 경로생성과 장애물

표현helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 5121 경유점간의 거리와 각도 helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 5122 주행 시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 521 직선과 원의 교점helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 522 일반보행시뮬레이션 결과helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

그림 523 장애물을 통과 보행시뮬레이션 결과helliphelliphelliphelliphelliphellip 47

그림 53 혼합 방법helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 611 포텐셜필드 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphellip 50

그림 612 포텐셜필드 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphellip 50

그림 613 포텐셜필드 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphellip 51

그림 614 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 614 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

그림 621 통과 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 622 통과 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 56

그림 623 통과 방법을 이용한 실험3helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 57

그림 624 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 59

그림 624 통과방법을 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 61

그림 631 혼합 방법을 이용한 실험1helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 632 혼합 방법을 이용한 실험2helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 62

그림 634 장애물의 위치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 64

그림 634 포텐셜필드를 사용한 궤적helliphelliphelliphelliphelliphelliphelliphelliphelliphellip 65

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 9: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

v

표 목차

표 2311 내부변수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 2312 외부변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

표 2421 계산된 카메라 변수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

표 311 로봇의 기구학적 구조에 따른 특성 비교helliphelliphelliphelliphellip 17

표 312로봇 시스템 외형 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 3311 D-H변수 값helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

표 521 로봇발의 끝점 좌표helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

표 521 로봇관절의 각도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

표 611 첫 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 52

표 621 두 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 58

표 631 세 번째 실험의 실제 측정된 장애물 좌표helliphelliphelliphellip 63

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 10: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

vi

요 약

본 논문에서는 스테레오 카메라를 이용하여 장애물을

감지하고 목적지까지의 경로를 생성하는 6족 로봇의 개발을

서술 하고 있다 실험에 사용된 6족 로봇은 보행과 주행이

동시에 가능한 타입으로 설계가 되어있어 평상시에는 주행으로

동작을 하나 장애물을 만났을 경우 다리 관절을 이용하여 이를

넘을 수 있다 두 대의 카메라로 찍은 두 이미지의 상관관계를

명암도 영상으로 나타낸 것을 Disparity map이라고 하며 이를

기반으로 로봇에서부터 장애물까지의 거리를 산출할 수 있다

작성된 Disparity map으로부터 장애물의 정보를 얻어와

궤적생성을 할 수 있으며 Potential field 알고리즘을 사용하여

경로를 생성을 하였다 OpenGL기반의 시뮬레이터를 이용하여

경로생성 시뮬레이션을 선행하였으며 실제주행과 비교하여 이를

검증하였다

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 11: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

vii

ABSTRACT

In this thesis using a stereo camera to detect obstacles and

describes development a robot that generate the path to

destination The hexapod robot in the experiment is able to

walking and driving simultaneously The hexapod robot

operates driving mode normally If the hexapod robot met

obstacles the robot can overcome obstacle using itrsquos legs

The correlation between two images taken with stereo

camera represents intensity image is said to be a disparity

map Using the disparity map the robot can calculate the

distance between robot and obstacle The obstacles

information is figured out from the disparity map and the

potential field algorithm to create the path The OpenGL

based simulator is used to generate the path generation and

we verify the result comparing the actual results with

simulated results

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 12: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

1

1 서 론

11 논문 배경 및 목적

로봇은 다리를 가진 보행 로봇과 바퀴 달린 모바일 로봇으로

크게 나뉠 수 있다 우리나라에서 연구중인 4족 로봇으로는

FRAMIX[1]가 있고 일본에서 연구중인 4족 로봇은 AIBO[2]

Tekken series[3] TITAN series[4] 등이 있다 위의

로봇들은 주행이 불가능한 설계로 인하여 로봇 구동에 필요한

전력수급이 원활하지 못한 것이 문제점으로 지적되고 있다 바퀴

달린 로봇들은 장애물을 회피하는 등의 원활한 이동성을 기초로

개발되어 있다 하지만 주행타입의 로봇들은 이동하는 경로에

턱과 같은 장애물을 만나게 되면 턱을 넘어가기가 어렵게

되므로 로봇의 움직임에 제약을 받게 된다

본 논문에서 제안하는 6족 로봇은 보행과 주행이 동시에

가능한 타입으로 설계되어 로봇이 진행하기 힘든 지형을 극복할

수 있고 장애물 또한 넘을 수 있는 구조로 되어있다 본 로봇은

기본적으로 6족의 다리를 가지고 있으며 외곽의 4개의 다리의

끝에 바퀴 모듈이 장착되어 있다 또한 조향이 가능하도록 바퀴

모듈 위에 모터가 장착되어 있다

지형지물을 판단하기 위한 방법으로는 초음파센서를 이용한

거리측정[5] 레이져 스캐너를 이용한 거리측정[6] 영상처리를

이용하는 방법[7] 등이 있는데 본 논문에서는 많은 정보를 얻기

위하여 스테레오 카메라를 이용하여 거리를 산출하였다 거리는

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 13: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

2

한 점에서 다른 점까지의 길이를 나타내는 것으로 인간의

양안에 의한 거리 감각과 같이 카메라를 수평으로 일정 거리의

차이를 두어 시차가 생기게 하여 장애물과의 거리를 측정 할 수

있게 된다 시차 정보를 추출하기 위하여 카메라 보정을 하여

카메라의 특성 왜곡을 보정하고 두 이미지 사이의 픽셀이

동일한 축에 있어야 하므로 영상의 평행화 과정[8]을

수행하였다 이렇게 수행된 이미지 사이의 시차를 명암도

영상으로 나타낸 시차지도[9]를 이용하여 장애물의 위치 및

크기를 검출하여 경로계획에 사용하였다 본 논문에서는

장애물을 검출하기 위한 방법을 제시하고 로봇이 장애물의

크기와 높이를 판단하여 장애물의 회피 또는 극복에 대한

방법을 제시한다

12 연구 내용 및 논문 구성

변형 가능한 6족 로봇은 스테레오 비젼을 이용하여 장애물을

회피하며 궤적을 생성한다 또한 본 로봇은 다리관절의 이동

범위를 넓혀 환경에 맞게 로봇이 형태를 변형할 수 있다

본 논문에서는 스테레오 카메라를 이용하기 위한 전처리

과정과 후처리 과정을 기술하고 있으며 장애물 검출에 관한

이론을 제시한다 또한 검출된 장애물기반으로 궤적을 생성한다

본 논문의 2장에서는 스테레오 카메라의 보정과정과 평행화

과정 그리고 후 보정 과정을 설명하였고 3장에서는 6족 로봇의

기구학 및 전체 시스템 구성에 대하여 설명을 하였다 4장에서는

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 14: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

3

스테레오 영상 시스템 구축과 장애물 검출 알고리즘을

설명하였고 5장에서는 3차원 환경 데이터를 통한 로봇의

궤적계획에 대한 설명하였다 6장에서는 로봇을 이용하여 실험한

결과에 대해서 설명하였다 7장은 결론 및 향후 과제에 대해

요약한다

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 15: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

21

카메

2차원

복원

같은

간격

Grey

Grab

시스

스테

스테레오 영

스테레오 비

라로부터

원 스크린으

하는 방법이

수평시차

을 조절할

y社의 IE

bber보드가

템 구축이

레오 영상

2 스테

영상 시스템

비젼이란 수

같은 물체

으로 투영

이다 그러므

차 분만 가

수 있도록

EE-1394방

가 필요 없어

이 간편해졌

시스템의 모

그림 211Fig 21

4

테레오 시

기구 설계

수평적으로

의 이미지를

영될 때 소

므로 영상 시

가지도록 설

록 제작이

방식의 디

어 기존의

졌다 그림

모델링과 실

1 스테레오1 Stereo V

시각시스템

위치한 서

를 얻어내

소멸된 물

시스템은 인

설계되었으며

되었다

디지털 카메

아날로그

211은

실제 모습을

영상 처리Vision Sys

서로 다른

어 3차원

물체의 거리

인간의 시각

며 카메라

카메라는

메라로 추

카메라보다

CAD를

보여준다

장치 tem

2대의

영상이

리정보를

구조와

사이의

Point-

추가적인

다 영상

이용한

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 16: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

5

22 카메라 보정

본 절에서는 카메라 보정 기본 개념을 설명한다 카메라로

부터 한 점의 삼차원 정보를 얻기 위해서는 카메라의 보정이

필수적이다 실 세계 좌표의 임의의 한 점이 이 차원 카메라

좌표계 평면에 어떻게 사상이 되는지를 표현하는데 있어서

관련된 각 카메라 변수의 값을 정해줄 필요가 있는 것이다

더구나 핀홀(Pinhole)카메라를 제외한 모든 카메라는 렌즈를

사용하므로 렌즈에 의한 영상 왜곡이 생기게 된다 그러므로

이러한 왜곡된 영상에서 얻은 삼차원 정보는 많은 오차를

포함하고 있다 이러한 오차가 제거된 실 세계와 카메라의

좌표계의 상관관계를 정의할 필요가 있다

카메라 보정 알고리즘은 크게 2가지 방법이 있는데 카메라

변수들을 바로 구하는 방법과 프로젝션 매트릭스로부터 카메라

변수를 구하는 방법이 있다 전자는 Tsai가 제안한

방법[10]이고 후자는 Faugeras에 의하여 제안된 방법[11]이다

본 논문에서는 Tsai가 제안한 방법을 사용하여 카메라의 보정을

수행한다 Tsai의 보정 방법은 내부변수(Intrinsic parameter)와

외부변수(Extrinsic parameter)을 나누어서 구한다

23 카메라 변수

카메라 보정(camera calibration)은 회전요소 이동요소

크기요소 값을 이용하여 한 영상을 변형시킴으로써 두 영상간의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 17: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

6

부분적으로 동일한 영역이 오버랩 되도록 하는 작업을 말하며

영상처리의 전처리 과정 중 하나이다 카메라 행렬은

내부 matrix 와 외부 matrix 로 나타낼 수 있다 내부 matrix 는

focal length principal point lens distortion 등의 정보를 담고

있으며 외부 matrix 는 rotation translation projection type 의

정보를 담고 있다

카메라 변수는 불완전한 카메라 렌즈에 의해 디지털 이미지

좌표계에 사영되는 영상과 실 세계의 영상간의 관계를 정의하는

변수이다 그림 231은 실 세계와 영상간의 관계를 정의한

그림이다

그림 231 영상과 실 세계의 관계

Fig 231 Relation between image coordinate and world coordinate

231 내부 변수(Intrinsic parameter)

렌즈에 의해 이미지 좌표계에 사영되는 왜곡된 영상과 실

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 18: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

7

세계의 영상의 관계를 정의하는 변수이다 실 세계 좌표계가

설정되어 있으면 실 세계 좌표계의 한 점 TZYXP )( 와 이에

대응하는 영상 좌표계 상의 위치 )( uuu YXP 와 컴퓨터 영상좌표

)( ff YXP 를 얻는 과정을 나타낸다 표 2311은 내부변수를

나타낸 것이며 이 변수를 구하는 과정은 다음과 같다

표 2311 내부 변수

Table 2311 intrinsic parameters

)( yx CC 카메라 중심 좌표

)( yx ff 수평 수직 방향 초점거리

321 kkk 방사형 렌즈 왜곡 변수

21ττ 접선 렌즈 왜곡 변수

첫째로 기본 투영(prospective)식을 이용하여 실 세계의

좌표를 표준화(normalization)이미지 평면으로 투영한다

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

ZYY

ZXX uu (2311)

여기서 uu YX 는 왜곡이 없는 표준화된 이미지 좌표계이다

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 19: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

8

두 번째로 렌즈의 왜곡 모델은 그림 2311과 같이 발생하게

된다

그림 2311 카메라 렌즈의 왜곡

Fig 2311 Distortion of camera lens

다음과 같이 방사형 렌즈의 왜곡 성분 321 kkk 와 접선 왜곡

변수 21ττ 의 합으로 이루어 지는데 아래의 식 2312으로

나타낼 수 있다

( )( )

)2(2

)2(2

1

1

2221

2221

63

42

21

63

42

21

uuuy

uuux

yud

xud

YrYXd

XrYXd

drkrkrkYY

drkrkrkXX

++=

++=

++++=

++++=

ττττ

(2312)

여기서 dd YX 는 왜곡된 이미지의 좌표계이고 렌즈의 특성상

접선 왜곡 변수 21ττ 는 렌즈의 반지름에 대한 원의 방정식

)( 222 dd YXr += 과 관련이 있고 식2312에서 yx dd 로 정리되어

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 20: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

9

나타낼 수 있다 그러나 실제로 21ττ 는 21kk 에 비하여 매우

작은 값이므로 일반적으로 yx dd 는 생략된다

세 번째로 왜곡된 이미지 좌표계는 실 세계 좌표 )( ff YX 에

식 2313을 사용하여 맵핑된다

ydyfxdxf CXfYCXfX +=+= (2313)

여기서 )( yx ff 는 각각 렌즈의 수평 수직 초점 거리이다

카메라 내부 변수는 행렬을 이용하여 아래 식 2314와 같이

표현할 수 있다

dfyy

xx

KKXCfCf

K =⎥⎥⎥

⎢⎢⎢

⎡=

1000

0 (2314)

여기서 fX 는 실 세계 좌표 dX 는 왜곡이 있는 영상

좌표이다 이 왜곡된 dX 는 식 2312에 의해 왜곡되지 않은

좌표로 변환이 되어 카메라 내부 변수 행렬에 반영된다

232 외부 변수(Extrinsic parameter)

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 21: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

10

외부 변수는 카메라와 실 세계 좌표계간의 회전 이동을

나타내는 변수이다 표 2321은 외부 변수의 종류를 나타내고

외부변수의 정의는 식 2321로 나타낼 수 있다

표 2321 외부 변수

Table 2321 Extrinsic parameters

][ zyx TTTT = 실 세계 좌표를 기준으로 각각 x y

x방향으로의 이동거리

⎥⎥⎥

⎢⎢⎢

⎡=

987

654

321

rrrrrrrrr

R

각각 실 세계 좌표의 x y z축을 기준으로

회전한 오일러 회전행렬

[ ] TZYX

RZYX

c

c

c

+⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

times33 (2321)

여기서 이동 변환 행렬은 ][ zyx TTTT = 이며 회전 변환 행렬

R은 아래의 식 2322와 같다

⎢⎢⎢

+minus+minus++minus

minus=

⎥⎥⎥

⎢⎢⎢

⎡=

θθφθψφψφθψφψφθφθψφψφθψφψ

θφψφψ

coscossinsinsinsincoscossincossinsinsincossinsinsincoscoscossincoscossin

sincossincoscos

987

654

321

rrrrrrrrr

R

(2322)

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 22: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

11

ψφθ 는 X Y Z축을 중심으로 회전한 것이다

앞의 식 (2313)에 의해서 식(2314)식을 보다 자세히

다음과 같이 정의할 수 있다

ydyf

xdxxf

CXdY

CXdsX

+=

+prime=minus

minus

1

1

(2323)

yy

fx

cxxx

dd

NNdd

=prime

= (2324)

여기서 xs 는 오차요인이고 ff YX 는 영상 화소의 위치

yx CC 는 영상에서의 중점 좌표이다 그리고 yx dd 는 카메라

구조 중 이웃한 센서 요소간의 중점거리 fxN 는 영상의 한 라인

표본화 수이며 YX 축 화소의 개수는 cycx NN 로 나타낼 수

있다 식 2321을 이용하여 영상 좌표계와 카메라 좌표계를

정리해 보면 다음 식 2325를 얻을 수 있다

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 23: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

12

c

cxy

c

cxxdxx

ZYfrYkdXd

ZXfrXkdsXds

=+prime

=prime+prime minusminus

21

21

11 (2325)

위의 식 2325를 식 2321에 대입하여 아래의 식

2326으로 정리될 수 있다

zwww

xwwwxy

zwww

xwwwxxdxx

TZrYrXrTZrYrXrfrYkdXd

TZrYrXrTZrYrXrfrXkdsXds

++++++=+prime

++++++=prime+prime minusminus

987

65421

987

32121

11 (2326)

이 식에 실 세계 좌표에서 알고 있는 점들의 집합과 이에

상응하는 영상 좌표계 점을 대입하면 외부변수인 TR 를 계산할

수 있다

24 스테레오 카메라

241 영상의 평행화(Image rectification)

스테레오 비젼의 구조는 이미 잘 알려져 있는 에피폴라

기하학으로 간단히 표현할 수 있다 그림 2411 은 두 대의

핀홀 카메라의 투영중점 rO lO 과 이미지 평면 rπ lπ 를

보여주고 있다 ][ rrrr xyxP = ][ llll xyxP = 은 카메라

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 24: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

13

좌표계에서 3 차원상에 한 점 p 를 가리키는 백터이고

][ rrrr xyxP = ][ llll xyxP = 는 점 p 를 가리키는 좌우 이미지

안의 좌표를 나타낸다 그림 2411 에서 좌측 이미지 평면 lπ 의

한 점 lP 에 대해서 우측 이미지에 대응하는 점 rP 과 le 를

연결하는 선 위에 존재한다 이선을 에피폴라 선이라고 하고 rL

lL 이라고 정의한다 에피폴라 선은 두 카메라의 투영중점 rO

lO 과 p 로 정의되는 에피폴라 평면과 이미지 평면 rπ lπ 의

교선이고 한 이미지의 모든 점에 에피폴라 라인은 공통적으로

le re 을 지난다 이를 에피폴 이라고 하고 rO lO 과 이미지

평면 rπ lπ 과 교점을 이룬다 만약 lp rp 이 3 차원

공간상에서 한 점 p 와 각각 대응되는 점이라면 한

이미지평면의 점은 다른 이미지 평면상의 에피폴라 라인 위에

존재 함으로 대응하는 점을 찾기 위한 영역이 2 차원에서

1 차원으로 줄일 수 있다 이를 에피폴라 제약조건이라고 한다

카메라 좌표계 안에서 두 카메라의 관계는 외부

파라메터(Extrinsic parameter)인 이동벡터 lr OOT minus=( )와

회전백터 R 로 표현될 수 있다 공간상에 주어진 p 에 대하여

lp 와 rp 의 관계는 다음과 같다

)( TPRP lr minus= (2411)

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 25: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

14

또한 픽셀 좌표계에서의 lp rp 과 카메라 좌표계의 lp rp

의 관계는 다음과 같은 수식으로 표현 할 수 있다

ll

ll p

zfP = (2412)

rr

rr p

zfP = (2413)

여기서 lf rf 은 각각 카메라의 초점거리(Focal length)를

나타낸다 아래의 그림 2411 은 에피폴라 기하학을 나타낸

그림이다

rπlπ

lO rO

rPlP

lere

p

rplp

rL lL

그림 2411 에피폴라 기하학 Fig 2411 The epipolar geometry

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 26: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

15

242 카메라 보정과 평행화 결과

22절부터 232절을 기반으로 카메라 변수를 구하였다

아래의 그림 2421은 체스보드의 edge를 구하여 실 세계

좌표를 구하여 보정과 평행화한 결과이다 오차를 줄이기 위하여

10장의 이미지를 촬영하여 대응점을 구하였다

1st capture 2nd capture

3rd capture 4th capture

5th capture 6th capture

7th capture 8th capture

9th capture 10th capture

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 27: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

16

그림 2421 카메라 대응점 추출과 정합 Fig 2421 Extract corresponding points and rectification

아래의 표2421은 10장의 대응점을 추출하여 구해진 카메라

변수들 이다

표 2421 계산된 카메라 변수

Table 2421 Calculated camera parameters

Camera_1

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002278110723700032630000107251

Camera_2

intrinsic

parameter ⎥⎥⎥

⎢⎢⎢

1000000002119510672900032130000106611

Fundamental

matrix ⎥⎥⎥

⎢⎢⎢

100008632000022-008590-000-000-000009000000-

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 28: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

17

3 iTiBO 로봇의 구조

31 기구적 구조

본 논문의 연구 대상인 변형 가능한 6족 로봇은 CAD Tool을

이용하여 3D형태로 설계하였고 본체를 가볍게 하기 위해

알루미늄을 사용하였다 한 개의 다리에는 5자유도(Degree of

Freedom)를 가지고 있으며 가운데 두 다리의 끝에는 집게

손을 가지고 있어 물체를 들어올리거나 운반할 수 있다

표 311은 서로 다른 구동 방식에 따른 특성 비교이다

영상처리 및 센서 감지 성능을 높이기 위해서는 로봇의

자세안정이 중요하다 따라서 변형 가능하며 바퀴와 보행이

동시에 가능한 로봇의 기구학적 구조의 특징은 많은 장점을

가지고 있음을 알 수 있다

표 311 로봇의 기구학적 구조에 따른 특성 비교

Table 311 Hexapod Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 29: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

18

변형 가능한 6족 로봇의 각 관절은 200도의 넓은 동작범위를

가지고 있다 그림 311은 CAD를 이용한3D 모델링과 각

관절의 구조를 나타내고 있다

그림 311 로봇의 3 차원 모델 Fig 311 Robot 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 30: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

19

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

로봇의 다리 세부 구조를 나타내고 있다

그림 312 로봇 다리의 세부 구조 Fig 312 Details structure of robot leg

로봇의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬 폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 312은 로봇의 자세한 외형 치수를 나타내고 그림

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 31: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

20

313은 로봇의 실제 모습을 나타낸다

표 312 iTiBO 시스템 외형 치수

Table 312 iTiBO Configuration

Height 370 mm(Max) ~ 120 mm(Min)

Width 850 mm(Max) ~ 400 mm(Min)

Depth 800 mm(Max) ~ 460 mm(Min)

Weight 52 Kg

Wheel 4

DOFs 34

Power Li-Polymer 148V 1500mAh

그림 313 변형 가능한 6 족 로봇 iTiBO Fig 313 Transformable hexapod robot iTiBO

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 32: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

21

32 제어기 구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

로봇의 보행궤적 생성을 담당하는 주 제어기와 30개의 모터

제어기에 보행 궤적 데이터를 전송하는 메시지 제어기로 나뉜다

영상 카메라는 Point Gray社[12]의 소형 IEEE-1394

디지털 카메라를 사용하였으며 중앙 처리기로는 작은 크기의

Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU Windows-XP

운영체제로 영상처리 성능과 프로그램 이식성을 높였다 또한

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신[13]을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU[14]를 사용하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈[15]을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 321는 6족

로봇의 제어 시스템 구조를 나타낸다

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 33: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

22

그림 321 로봇 시스템 구조

Fig 321 Robot system configuration

33 로봇 구동 시스템

331 로봇의 기구학적 해석

변형 가능한 6족 로봇의 기구학 해석[16]을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 3311은 로봇 시스템의 좌표계이다

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 34: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

23

그림 3311 iTiBO 의 좌표계 시스템

Figure 3311 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법[16]을 사용하여

세 부분의 단순 기구 연쇄로 표시하였다 표 3311은 로봇의

시스템의 D-H 변수 값을 나타내었다

표 3311 D-H 변수 값

Table 3311 D-H Parameters

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 35: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

24

로봇 시스템의 역기구학은 부록 A에 나타내었다

332 모션 데이터 구조

변형 가능한 6족 로봇은 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

로봇은 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 3321은 로봇에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 36: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

25

그림 3321 모션 데이터 구조와 전송 알고리즘

Fig 3321 Motion Data Structure and Transfer Algorithm

그림 3321에서와 같이 로봇에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 37: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

26

4 변위지도 생성과 장애물 검출

변위란 같은 물체를 다른 각도에서 찍은 두 이미지 사이의

대응점들의 위치 차이를 말하는 것이다 즉 동일한 월드좌표가

두 이미지의 다른 위치에 투영되었을 때 어느 정도의 차이를

두고 투영되었는지 알 수 있는 값이라고도 할 수 있다 이와

같은 변위 값은 두 이미지 사이의 가상 이미지 합성 시 중요한

값으로 사용될 수 있다 이 절에서는 가상 이미지 합성에 필요한

변위지도를 구하는 방법에 대해 설명한다

41 전처리 과정(preprocessing)

전처리 과정은 크게 3부분으로 나뉜다 첫 번째는 과정은

이미지의 사이즈를 줄이는 과정이다 이미지의 사이즈가 크게

되면 연산시간이 오래 걸리므로 320 x 240사이즈의 크기로

resizing하여 연산을 하게 되며 Inter cubic방식을 이용하여

사이즈를 resizing하였다 두 번째 과정은 LoG(Laplacian of

Gaussian filter)[17]를 이용하여 영상의 밝기 변화나 광원의

영향을 크게 받지 않게 하며 상대적으로 잡음의 영향이 적게

받아 계산이 빠른 장점을 가진다 그러나 특징이 영상전체에

고루 분포되어 있지 않을 경우에는 추출 할 수 있는 특징정보가

부족하기 때문에 정합의 정확도가 저하된다 마지막으로

미디언필터(Median filter)[17]를 사용하였다 미디언 필터는

입력영상의 주변 픽셀 값들을 오름 차순 또는 내림차순으로

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 38: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

27

정렬하여 그 중앙에 있는 픽셀 값을 사용하는 필터로써 salt and

pepper와 노이즈 충격[17]을 제거한다 아래의 그림411은

전처리 과정을 거치고 SSD로 정합된 Disparity map을 나타낸다

흰색에 가까울수록 카메라와 가깝고 검은색에 가까울수록

카메라와의 거리가 먼 것이다 그림 412은 OpenGL기반으로

disparity map를 3D로 재구성한 그림이다

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 39: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

28

그림 411 교정된 이미지와 변위지도 Fig 411 Rectified images and disparity map

그림 412 OpenGL 기반의 변위지도 3D 재구성 Fig 412 OpenGL based 3D reconstruction

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 40: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

29

42 이미지 상관관계(Image correlation)

Disparity는 오래 전부터 많은 사람들에 의해 연구되어 온

분야이다 Disparity 알고리즘 중 가장 간단한 방법이 바로

SSD를 이용한 방법이다 이 알고리즘은 두 이미지 사이의

명도차이를 이용한 방법이다 본 논문에서는 한 이미지를

기준으로 다른 이미지의 명도값의 차이를 특정영역에서

계산하고 이 차이 값이 최소가 되는 부분이 해당 픽셀의

대응점이라고 생각하고 그때의 인덱스의 위치가 변위값이 된다

이와 같은 작업을 각 이미지들을 기준으로 왼쪽과 오른쪽에

해당하는 변위지도를 각각 계산해 준다 하지만 SSD만을

이용하여 정확한 변위값을 구하기 힘들다 그러므로 전처리

과정과 후처리 과정을 통하여 이미지의 품질을 향상 시켰다

아래의 그림은 421은 대응구간을 이용한 상관관계에 대한

그림이다

그림 421 대응점 상관관계 Fig 421 Corresponding points correlation

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 41: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

30

아래의 식 421은 SSD function이고 식 422는 윈도우

사이즈를 정의한 것이다

sumisin

minusminus=)()(

2)]()([)(yxWvu

RLrm

vduIvuIdyxC (421)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

|)( 2222mmmm

m yvyxuxvuyxW +leleminus+leleminus= (422)

여기서 LI RI 은 왼쪽 이미지의 명암도 와 오른쪽 이미지의

명암도를 나타내며 u v 는 식 422에 의하여 정의된 윈도우의

사이즈 이다

43 후처리 과정(Post processing)

후처리 과정은 크게 2가지로 나뉜다 하나는 모폴로지컬 필터

(Morphological filter)[17]이고 다른 하나는 스파이크

제거이다 모폴로지컬 필터 연산은 침식(erode) 연산 후

팽창(dilation) 연산을 하게 되는데 이를 닫힘(closing)연산이라

한다 닫힘 연산을 하게 되면 원래 영상의 형태는 유지하게 되고

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 42: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

31

작은 노이즈는 사라져 버리기 때문에 노이즈를 제거하는 효과를

볼 수 있다 마지막으로 스파이크제거 알고리즘[18]은 영역

기반 정합 방식에서 깊이가 불연속적으로 변하거나 경사가

급격하게 변하는 경우에 발생하며 국소적으로 나타나는 특징이

있다 따라서 국소적으로 나타난다는 특징을 이용하여 이를

제거할 수 있다 변위지도에서 스파이크가 존재할 경우

스파이크가 존재하는 열에서 스파이크 값은 상대적으로 큰 값을

갖는다 따라서 스파이크 값과 진짜 값은 일정한 차이가

발생한다 실험적으로 명도차이가 10~12라는 것을 확인

하였으며 이 값이 발생하였을 경우 이를 스파이크로 간주하고

스파이크 전의 값을 이용하여 보정을 한다

44 장애물 검출

계산된 변위지도에서 장애물은 바닥과 다르게 흰색을 띄게

된다 그림 441은 계산된 변위지도의 기울기 차이를 보여준다

그림 441 변위 지도의 명동의 기울기 차이

Fig 441 Difference of gradient of disparity map

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 43: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

32

이런 특징을 살려 수평라인을 스캔 하여 장애물의 테두리를

검출하게 된다 또한 자연히 배경과 장애물은 분리가 된다

아래의 표 441은 장애물을 분리 하는 과정을 나타낸다

표 441 장애물 분리과정

Table 441 A process of obstacle separation

valnewreturnforendI

thenIaverageifXsumaverage

Isum

doYallforIYXobjectextractorithmA

X

n

_

0

)(lg

1

=lt

=

=sum=

여기서 X는 이미지의 수평크기이고 Y는 수직크기이고 I는

이미지의 명도를 나타낸다 수평축 라인의 평균을 구한 후

평균보다 작은 값들은 명도를 0으로 하여 배경을 분리하였다

그림 442 제안된 알고리즘으로 구한 장애물 Fig 442 Calculated obstacles by proposed algorithm

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 44: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

33

장애물들은 배경과 분리 되어 하나의 덩어리(blob)으로

변환하였다 이 덩어리들 blob labeling[19]하기 위하여

openCV에서 제공하고 있는 blob labeling 라이브러리를

사용하였다 Blob coloring 라이브러리는 표 442와 같이

동작한다

표 442 Blob 컬러링 알고리즘

Table 442 Blob coloring algorithm

repeat

colornewKCColorthenLimageandUimageif

LColorCColorthenLimageandUimageif

UColorCColorthenLimageandUimageif

thenCimageifimageSizekfor

templateshapeLgubottomtotopandrighttoleftfromimageoriginaltheScan

StepkColorinitialtheLet

labelingbloborithmA

][255][0][

][][255][0][

][][0][255][

255][

sin

10][

lg

++===

===

===

==

minus

=

Blob labeling 알고리즘은 각 화소에 그 화소의 상단 화소와

왼쪽 화소의 라벨을 검색하여 현재 화소의 라벨을 결정한다 이

두 이웃 화소들은 라벨링 과정에서 이미 주사된 화소이다 결정

과정에서는 세 가지의 서로 다른 경우가 발생할 수 있다 만약

두 이웃 화소들이 모두 전경 화소가 아닌 경우에는 현재 화소에

새로운 라벨값을 할당한다 두 화소 중 하나의 화소만

전경화소인 경우에는 그 화소의 라벨값을 현재 화소에 할당한다

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 45: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

34

그리고 두 화소가 모두 전경 화소이면서 같은 라벨값을 갖는

경우에는 동일한 라벨값을 현재 화소에 할당한다 그러나 두

화소가 전경화소지만 서로 다른 라벨값을 갖는 경우에는 이 두

영역은 현재화소에 의해 서로 연결되는 영역이므로 동일한

라벨값으로 병합되어야 한다 따라서 더 두 화소의 라벨값 중 더

작은 값을 현재화소의 라벨값으로 할당하고 두 라벨은 동치

테이블에 동치 라벨로 등록된다 아래의 그림 443는 blob

labeling으로 구해진 장애물의 중심위치와 disparity값들이다

그림 443 라벨링된 장애물들 Fig 443 Labeled obstacles

이로써 라벨링 된 장애물들은 각각의 좌표와 크기 그리고 거

리를 알 수 있다

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 46: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

35

5 로봇의 경로생성

본 장은 로봇이 장애물을 판단하여 경로를 생성하는

부분으로써 첫 번재는 포텐셜 필드방법[20]을 이용하여

장애물을 회피하는 경로를 생성하는 방법이고 두 번째는

시작점과 도착점 사이에 최단 거리인 가상의 직선을 그렸을 때

장애물이 검출이 되면 로봇의 역기구학을 이용하여 로봇이

넘어가는 방법이며 마지막으로 위 두 개의 방법을 혼합하여

사용하는 방법으로 경로를 생성 할 수 있다

먼저 포텐셜 필드를 이용한 방법은 장애물의 높이가 로봇이

통과하지 못하는 경우 이루어 진다 로봇은 최대 150mm까지

다리를 올릴 수 있으나 로봇의 동작이 불안정해지는 이유로

50mm로 제한을 하였다 즉 장애물의 높이가 50mm 이상일

경우 로봇은 회피동작을 하게 된다 또한 계산의 복잡성과 국부

최소점(Local minima)를 줄이기 위하여 장애물의 형태를 원의

형태로 근사화 하였다 포텐셜 필드 방법을 사용하였을 경우

장애물의 형태가 사각형의 형태로 존재하면 국부 최소점에 쉽게

빠지는 것을 실험적으로 알아내었다

그림 51 원으로 근사화 된 장애물 Fig 51 Approximated obstacle as a circle

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 47: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

36

원의 형태는 장애물의 모서리를 다 포함 할 수 있는 크기의

원으로 근사화 하였으며 타원이 아닌 원의 형태를 가지고 있다

위의 그림은 51은 원의 형태로 근사화 된 장애물을 나타낸

것이다

아래의 그림52는 경로생성의 방법을 선택하는 순서를 나타낸

것이다

그림 52 경로생성 방법 선택 과정

Fig 52 Selection of method of path plan

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 48: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

37

51 포텐설 필드를 사용한 경로계획 방법

511 포텐셜 필드 방법

포텐셜 필드 방법(Potential field method)은 자율이동로봇의

경로계획(path planning)이나 작업공간 내에서 로봇 매니퓰레이

터를 나타내는 포인터를 충돌 없이 목적지까지 이동시키는 문제

에 주로 적용되었다 포텐셜 필드 방법은 로봇을 포텐셜 함수의

영향을 받는 물체로 취급하는 것이다 장애물은 척력의 포텐셜

(Repulsive potential)에 의하여 모델링 되고 목표점은 인력의

포텐셜(Attractive potential)에 의하여 모델링 된다 따라서 모

든 작업 공간은 위의 두 전위 함수의 합에 의해 표현이 된다 로

봇에 작용하는 힘은 전위함수의 구배(Negative gradient)와 같

으므로 로봇은 종점으로 유도될 수 있다 즉 인력의 포텐셜 함

수는 계곡과 같은 역할을 하고 물체에 의한 척력의 포텐셜은 언

덕과 같은 역할을 하여 로봇은 목표점으로 따라 흘러간다아래의

식 5111은 포텐셜 필드를 나타내는 것이다

)()()( xUxUxU oxd += (5111)

여기서 )(xU xd 는 인력의 포텐셜을 나타나며 식 5112와 같

이 정의 된다

2)(21)( dpxd xxkxU minus= (5112)

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 49: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

38

여기서 pk 는 포지션의 게인 값을 나타내며 x 는 현재 포지션

값이며 dx 는 목표의 좌표를 나타낸다 식 5113은 척력의 포

텐셜이며 다음과 같다

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

ge

leminus

=

0

02

0

0

0

)11(21

)(ρρ

ρρρρ

η

if

if

xU (5113)

여기서 η 는 상수이득 값(Constant gain)이며 ρ 는 장애물로

부터의 최소 거리를 나타내며 0ρ 는 포텐셜 필드에 있어서 제한

거리를 나타내는 것이다 그림 5111은 포텐셜 필드를 설명하

는 그림이다 붉은색 2개의 원은 장애물을 나타내며 파란색 화

살표는 인력과 척력의 전위장의 방향을 나타낸다 그림을 보면

시작점과 장애물들은 척력 전위장을 내고 있으며 도착지점은 인

력 전위장을 띄고 있다

그림 5111 포텐셜 필드

Fig 5111 Potential field

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 50: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

39

512 포텐셜 필드 방법을 사용한 경로생성

인력과 척력의 전위장에 착안점을 둔 이 방법은 복잡한 형상

공간의 모델링이 필요 없고 비교적 간단한 계산으로 로봇의 경

로계획이 가능하다 그림 511는 좌표의 원점 즉 (00)에서 출

발하여 (9090)으로 경로가 생성되는 것을 볼 수 있다 본 연구

에서는 장애물의 형태가 각이 진 형태가 아닌 윈의 모양이 국부

최소점에 강인한 면모를 보인다는 점을 이용하여 장애물의 형태

를 원으로 근사화 하였다

그림 5121 포텐셜 필드 방법을 이용한 경로 생성과 장애물 표현

Fig 5121 Path generation and obstacle expression using a potential field

그림 5121은 그림 432와 같이 스테레오 비젼을 기반으로

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 51: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

40

하여 추출된 장애물의 좌표를 기반으로 장애물을 근사화 하여

표현한 것이다 장애물이 원의 형태로 근사화 되어 있기 때문에

국부 최소점에 빠지지 않고 생성되는 궤적을 보여준다 생성된

궤적을 기반으로 시뮬레이션 상에서 로봇의 움직임을 구현하기

위하여 경유점 간의 각도와 거리를 알아야 한다 아래의 그림

5122은 각 경유점간의 각도와 거리를 알 수 있는 방법을 제시

한 것이다

그림 5121 경유점간의 거리와 각 Fig 5122 The angles and degrees between way points

여기서 α 는 현재의 포인트와 다음 포인트간의 각을 나타내며

다음 식 5121와 같이 표현이 된다

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

getimes⎟⎠⎞

⎜⎝⎛

minusminusminus

letimes⎟⎠⎞

⎜⎝⎛

minusminus

=10180

0101arctan

101800101arctan

XXifpiXX

YY

XXifpiXX

YY

α

(5121)

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 52: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

41

α 는 두 개의 조건으로 나타낼 수 있으며 로봇의 방향을 위의

조건으로 판단할 수 있다 또한 L 은 두 점 간의 거리를 나타내

며 로봇이 이동하는 거리를 나타낸다

22 )01()01( YYXXL minus+minus= (5122)

로봇은 시작점(00)부터 목표점(9090)까지 106개의 경유점

을 식 5121과 식 5122를 사용하여 추종을 하게 되며 오차

없이 목표점까지 추종하였다 아래의 그림5122는 장애물을 통

과 할 수 없을 때 포텐셜 필드를 이용하여 궤적을 생성하였고

이를 수행된 시뮬레이션의 결과를 보여준다

그림 5122 주행 시뮬레이션 결과 Fig 5122 Driving simulation result

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 53: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

42

52 장애물을 넘을 수 있는 경우의 경로계획

두 번째 경우인 본 방법은 로봇이 장애물을 통과 할 수 있을

때의 경우로 시작점과 도착점의 최단거리인 가상의 직선을 그리

며 진행 도중 장애물을 만났을 경우 장애물을 넘어 가는 경우이

다 장애물은 원으로 근사화 되어있기 때문에 장애물 좌표와 반

지름의 크기를 기반으로 장애물의 위치와 크기를 알 수 있다 먼

저 시작점부터 목적지까지의 접하는 장애물이 있는지 체크를 한

다 그림 521과 같이 직선의 방정식과 원의 방정식을 연립방정

식을 풀어 교점을 판별한다

그림 521 직선과 원의 교점 Fig 521 An intersection between circle and line

로봇의 중심점을 기준으로 움직이기 때문에 중심으로부터 양

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 54: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

43

쪽 다리를 기준으로 하여 2개의 직선이 생기므로 이 직선의 방

정식을 대입하여 풀면 어떤 다리에 장애물이 걸리는지 알 수 있

다 여기서 d는 원의 중심과 직선의 거리이고 r은 반지름의 길이

라고 가정하면 dltr의 조건이면 두 점에서 만나고 d=r이면 한

점에서 만나고 dgtr이면 만나지 않는다 두 점이나 한 점에서 만

나는 경우에 장애물의 높이를 판별한 후 로봇이 어떤 방식으로

진행할 것인지에 대한 판단을 하게 된다 이러한 방법으로 두 개

의 직선을 대입하여 방정식을 풀어내면 로봇의 어떤 다리에 어

떤 장애물이 걸리는지를 알 수 있다

또한 로봇이 넘을 수 있는 장애물로 판단이 되면 두 개의 교

점의 거리를 구하여 로봇의 궤적에 걸리는 장애물의 길이를 알

수 있다 여기서 장애물의 높이는 일정하다고 가정한다 로봇의

역기구학을 풀어 로봇이 넘어 가는 동작을 하게 된다

로봇이 장애물을 넘기 위하여 그에 상응하는 걸음새를 구현해

야 한다 역기구학을 사용하여 다리의 끝점을 입력하면 각 관절

의 각도 값을 알 수 있다 역기구학은 부록에 있는 방식을 사용

하여 구하였다 로봇은 한 스텝을 가기 위하여 총 9개의 세부

동작을 하게 되며 한 스텝을 진행하였을 경우 로봇은 100mm를

이동하게 된다 아래의 그림 522는 기본적인 로봇의 걸음새를

보여주고 있고 표 521는 평지를 보행할 때의 걸음새로 9개의

로봇발의 끝점 좌표를 나타낸 것이고 표 522은 평지를 보행할

때의 걸음새에 대한 역기구학을 풀은 각을 표현하고 있다 로봇

발의 끝점 좌표는 X Y Z로 3차원으로 구성이 되어있으며 이

끝점 정보를 이용하여 3개의 관절 값을 알 수 있다 로봇의 다

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 55: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

44

리는 6개가 동일하기 때문에 1개의 다리만 역기구학을 풀어 모

든 다리에 적용을 하였다

그림 522 일반 보행 시뮬레이션 결과 Fig 522 General walking simulation result

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 56: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

45

표 521 로봇발의 끝점 좌표

Table 521 End coordinates of legs

세부동 다리1 다리2 다리3 다리4 다리5 다리6

1st

X 100

Y 100

Z -250

X 100

Y 0

Z -250

X 100

Y -100

Z -250

X 100

Y -100

Z -250

X 100

Y 0

Z -250

X 100

Y 100

Z -250

2nd

X 100

Y 100

Z -220

X 100

Y 0

Z -250

X 100

Y -100

Z -220

X 100

Y -100

Z -250

X 100

Y 0

Z -220

X 100

Y 100

Z -250

3rd

X 100

Y 100

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y -50

Z -250

X 100

Y 0

Z -220

X 100

Y 150

Z -250

4th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

5th

X 100

Y 100

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y -50

Z -220

X 100

Y 0

Z -250

X 100

Y 150

Z -220

6th

X 100

Y 50

Z -250

X 100

Y 0

Z -220

X 100

Y -50

Z -250

X 100

Y -100

Z -220

X 100

Y 50

Z -250

X 100

Y 100

Z -220

7th

X 100

Y 50

Z -250

X 100

Y 0

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y 50

Z -250

X 100

Y 100

Z -250

8th

X 100

Y 50

Z -220

X 100

Y 0

Z -250

X 100

Y -50

Z -220

X 100

Y -100

Z -250

X 100

Y 50

Z -220

X 100

Y 100

Z -250

9th

X 100

Y 100

Z -250

X 100

Y -50

Z -250

X 100

Y -100

Z -250

X 100

Y -50

Z -250

X 100

Y 0

Z -250

X 100

Y 150

Z -250

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 57: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

46

표 522 로봇다리의 각도

Table 522 The degree of robotrsquos joints

세부동작 다리1 다리2 다리3 다리4 다리5 다리6

1st

T1 45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 -45

T2 44

T3 45

T1-45

T2 44

T3 45

T1 0

T2 46

T3 54

T1 45

T2 44

T3 45

2nd

T1 45

T2 22

T3 72

T1 0

T2 46

T3 54

T1 -45

T2 22

T3 72

T1-45

T2 44

T3 45

T1 0

T2 27

T3 80

T1 45

T2 44

T3 45

3rd

T1 45

T2 44

T3 45

T1 -27

T2 46

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

4th

T1 45

T2 44

T3 45

T1 -27

T2 45

T3 52

T1 -45

T2 44

T3 45

T1-27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 56

T2 50

T3 24

5th

T1 45

T2 44

T3 45

T1 -27

T2 25

T3 78

T1 -45

T2 44

T3 45

T1-27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 56

T2 23

T3 59

6th

T1 27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 72

T1 27

T2 45

T3 52

T1 45

T2 22

T3 72

7th

T1 27

T2 45

T3 52

T1 0

T2 46

T3 54

T1 -27

T2 45

T3 52

T1-45

T2 22

T3 45

T1 27

T2 45

T3 52

T1 45

T2 44

T3 45

8th

T1 27

T2 25

T3 78

T1 0

T2 46

T3 54

T1 -27

T2 25

T3 78

T1-45

T2 44

T3 45

T1 27

T2 25

T3 78

T1 45

T2 44

T3 45

9th

T1 45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 -45

T2 22

T3 72

T1-27

T2 45

T3 52

T1 0

T2 27

T3 80

T1 56

T2 50

T3 24

위의 표521과 같이 로봇의 발의 끝점 좌표를 주면 표 522와

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 58: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

47

같은 각이 산출이 된다 이를 이용하여 궤적상에 장애물이 존재

하게 되면 장애물의 높이와 길이를 측정하여 궤적의 변화를 줄

수 있다 기존의 걸음새에서 높이 즉 Z방향의 좌표에 변화를 줌

으로써 로봇이 장애물을 넘어갈 수 있는 것이다 아래의 그림

523은 제작된 시뮬레이터의 장면으로써 장애물을 넘어가는 모

습을 보여준다

그림 523 장애물 통과 시뮬레이션 결과

Fig 523 Simulation result

53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법

포텐셜필드 방법과 로봇이 장애물을 넘어가는 방법을 혼합

하여 목적지까지 도달 할 수 있다 그림 521을 사용하여

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 59: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

48

로봇의 진행방향에 장애물의 유무를 알 수 있다 장애물의

크기를 판단하여 두 가지 방법을 적절히 혼합하여 사용할 수

있다 로봇이 장애물을 피해가거나 넘어갈 조건은 장애물의

높이이다 그러나 목적지까지의 경로를 직선으로 지정하였을 때

이 두 가지 조건이 함께 충족할 수 있다 이때 위의 두 가지

방법을 혼합하여 사용을 하면 최단거리의 경로를 생성할 수

있다 아래의 그림 531은 본 방법에 대한 그림이다

그림 531 혼합방법 Fig 523 Mixed method

예를 들어 장애물 2 크기가 다른 장애물이 검출되면 장애물 2

와 1사이에서 포텐셜필드에 의하여 목적지까지의 경로를 다시

생성하게 된다

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 60: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

49

6 실험결과 및 고찰

본 논문의 실험은 실내의 400cm x 400cm 의 공간에서 실험

을 하였다 실험은 로봇이 장애물을 회피할 수 있는 경우의 궤적

생성과 생성된 궤적에 대한 추종에 대한 실험과 로봇이 장애물

회피하지 않는 경우 즉 로봇이 판단을 하여 장애물을 넘어가는

동작 그리고 마지막으로 혼합동작으로 나뉜다 아래의 표는 실제

장애물의 좌표와 카메라로 획득한 이미지를 분석하여 얻어진 장

애물의 좌표를 나타낸다 포텐셜필드를 이용한 장애물회피 주행

실험 로봇의 걸음새를 이용한 장애물 극복실험 2개를 혼합한

실험 총3가지 실험이며 각 실험당 2에서 3번씩 실험을 실시하였

61 포텐셜 필드방법을 사용한 경로추종 실험

본 실험은 로봇이 판단을 하여 장애물을 넘어가지 못하는 경

우 포텐셜필드 방법에 의해 생성된 궤적을 나타낸 것이다 실내

의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을 설

치한 후 실험이 진행되었다 아래의 그림 611부터 그림 613

은 포텐셜 필드를 사용한 실험으로써 스테레오 카메라를 이용하

여 획득한 이미지와 시차지도를 나타낸 것이며 총 8개의 장애물

이 촬영되었으며 시차지도를 포함하고 있다 시차지도를 사용하

여 장애물의 위치 및 크기를 추정할 수 있으며 이를 기반으로

경로를 생성하여 로봇이 진행방향을 결정 할 수 있다

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 61: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

50

그림 611 포텐셜필드 방법을 이용한 실험 1 Fig 611 Experiment 1 using the PF method

그림 612 포텐셜필드 방법을 이용한 실험 2 Fig 612 Experiment 2 using the PF method

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 62: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

51

그림 613 포텐셜필드 방법을 이용한 실험 3 Fig 613 Experiment 3 using the PF method

표 611은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 63: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

52

표 611 첫 번째 실험의 실제 측정된 장애물 좌표

Table 611 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 1012 2012 1212 1011 1912 1112 916 95 916

2 2026 2024 2020 2023 2023 2019 884 958 95

3 3430 1228 2816 3230 1227 3016 941 964 933

4 1410 2828 3232 149 2728 3131 90 964 968

5 2020 1216 208 2018 1116 198 90 9167 95

6 2410 2412 1628 2210 2512 1626 916 96 926

7 1020 3220 820 1020 3420 820 100 9412 100

8 820 2032 3220 820 2030 3020 100 100 937

추정된 장애물의 좌표의 정확도의 평균치는 9454이다 위

의 표611를 근거하여 장애물의 위치를 표현하면 그림 614와

같다

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 64: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

53

그림 614 장애물 위치

Fig 614 Coordinates of obstacles

아래의 그림 615는 포텐셜필드 방법에 의하여 생성된 궤적

을 보여준다 그림 615의 첫 번째 궤적의 평균 정확도는

9349이며 끝점에서의 정확도는 9098의 정확도를 보인다

두 번째 궤적의 평균정확도는 9313이며 끝점의 정확도는

9723의 정확도를 보인다 세 번째 궤적의 평균정확도는 958

이며 끝점의 정확도는 931이다

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 65: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

54

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

450

Ground truth data measured data

Y

X

-50 0 50 100 150 200 250 300 350 400-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 66: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

55

-50 0 50 100 150 200 250 300 350 400

0

100

200

300

400

Y

X

Ground truth data Measured data

그림 615 포텐셜필드를 사용한 궤적 Fig 615 Generated paths by PF method

62 로봇의 역기구학을 이용한 장애물 넘기 동작실험

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우의

생성된 궤적을 나타낸 것이다 첫 번째 실험과 동일한 조건인 실

내의 400cm x 400cm의 공간에서 각기 다른 위치에 장애물을

설치한 후 실험이 진행되었다

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 67: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

56

그림 621 통과 방법을 이용한 실험 1 Fig 621 Experiment 1 using the through method

그림 622 통과 방법을 이용한 실험 2 Fig 622 Experiment 2 using the through method

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 68: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

57

그림 623 통과 방법을 이용한 실험 3 Fig 623 Experiment 3 using the through method

표 621은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 69: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

58

표 621 두 번째 실험의 실제 측정된 장애물 좌표

Table 621 Object coordinates of actual measurement

번호 실제 데이터(cm) 추정된 데이터(cm) 정확도()

1st 2nd 3rd 1st 2nd 3rd 1st 2nd 3rd

1 204 824 412 194 822 411 950 916 916

2 1224 208 1220 1124 198 1218 916 950 900

3 1632 2436 288 1532 2434 289 937 944 888

4 3220 328 2816 3221 329 2616 932 888 928

5 816 816 88 817 716 89 941 875 888

6 2812 2020 2020 2712 1820 2018 964 900 900

7 2028 2028 208 2026 2026 198 928 928 950

8 3232 3236 2836 3030 3033 2434 937 925 843

추정된 장애물의 좌표의 정확도의 평균치는 9185이다 위의

표621를 근거하여 장애물의 위치를 표현하면 그림 624와 같

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 70: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

59

그림 624 장애물 위치

Fig 624 Coordinates of obstacles

아래의 그림 625는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 615의 첫 번째 궤적의 평

균 정확도는 9445이며 끝점에서의 정확도는 9212의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9113이며 끝점의

정확도는 8924의 정확도를 보인다 세 번째 궤적의 평균정확

도는 919이며 끝점의 정확도는 904이다

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 71: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

60

0 100 200 300 400 500

0

100

200

300

400

500

Y

X

Ground truth data Measured data

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 72: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

61

0 100 200 300 400 500

0

100

200

300

400

500

Ground truth data Measured data

Y

X

그림 625 통과방법을 사용한 궤적 Fig 625 Generated paths by through method

63 포텐셜필드 방법과 넘기 동작의 혼합방법

본 실험은 로봇이 판단을 하여 장애물을 넘을 수 있는 경우와

포텐셜필드 방법을 혼합하여 생성된 궤적을 나타낸 것이다 첫

번째 실험과 동일한 조건인 실내의 400cm x 400cm의 공간에서

각기 다른 위치에 장애물을 설치한 후 실험이 진행되었다

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 73: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

62

그림 631 혼합 방법을 이용한 실험 1 Fig 631 Experiment 1 using the mixed method

그림 632 혼합 방법을 이용한 실험 2 Fig 632 Experiment 2 using the mixed method

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 74: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

63

표 631은 실제 측정된 장애물의 좌표 및 스테레오 카메라를

사용하여 얻은 시차지도를 사용하여 추정된 데이터 및 실제데이

터와 추정된 데이터간의 오차율 나타낸다

표 631 세 번째 실험의 실제 측정된 장애물 좌표

Table 631 Object coordinates of actual

measurement

번호 실제 데이터(cm) 추정 데이터(cm) 정확도()

1st 2nd 1st 2nd 1st 2nd

1 1212 3434 1211 3033 916 929

2 2020 1028 1920 1024 950 857

3 3416 3622 3316 3222 944 888

4 1028 834 1026 833 928 977

5 3232 2434 3030 2332 937 932

6 3622 3020 3321 2820 920 933

7 1836 X 1832 X 889 X

추정된 장애물의 좌표의 정확도의 평균치는 9230이다 위

의 표631을 근거하여 장애물의 위치를 표현하면 그림 633과

같다

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 75: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

64

그림 633 장애물 위치

Fig 633 Coordinates of obstacles

아래의 그림 634는 로봇의 걸음새를 이용한 넘기 방법에 의

하여 생성된 궤적을 보여준다 그림 634의 첫 번째 궤적의 평

균 정확도는 9245이며 끝점에서의 정확도는 9112의 정확

도를 보인다 두 번째 궤적의 평균정확도는 9313이며 끝점의

정확도는 9224의 정확도를 보인다

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 76: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

65

-50 0 50 100 150 200 250 300 350 400 450-50

0

50

100

150

200

250

300

350

400

Y

X

Ground truth data Measured data

0 100 200 300 400-50

0

50

100

150

200

250

300

350

400

Ground truth dataMeasured data

B

A

그림 634 포텐셜필드를 사용한 궤적 Fig 634 Generated paths by mixed method

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 77: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

66

7 결론 및 향후 과제

본 논문에서는 스테레오 카메라를 이용하여 로봇이 장애물을

모델링하고 이 정보를 이용하여 장애물의 넘을 수 있는지에 대

한 판단과 그에 대하여 궤적을 생성하는 실험을 하였다

크게 세 가지 경우에 대하여 실험을 하였는데 첫 번째 실험인

회피동작은 포텐셜 필드 알고리즘을 사용한다 이 알고리즘은 국

부 최소점에 빠질 수 있기 때문에 이에 대한 예외처리를 해주어

야 한다 본 실험에서는 원의 모양으로 장애물을 근사화 해주었

기 때문에 국부 최소점에 빠지지 않았다 그리고 포텐셜필드 방

법으로 생성된 궤적으로 로봇이 부드럽게 움직이는 것을 볼 수

있었다 두 번째 경우로 로봇이 장애물을 넘어가는 경우이다 이

경우에는 장애물의 높이를 정확히 측정을 하야 로봇이 자연스럽

게 넘어갈 수 있다 장애물의 높이를 정확하게 측정하기 위해서

는 카메라의 보정결과가 정확해야 하므로 본 실험에서는 카메라

보정을 여러 번 반복하여 정확성을 기하였다 로봇의 역기구학과

보행패턴을 이용하여 로봇이 장애물을 정확하게 넘을 수 있었다

세 번째 실험은 위의 2가지 방법을 혼합하여 실험을 하였으며

각 부분의 장점만을 사용하여 적용을 하였다

로봇이 장애물을 검출하고 궤적을 생성하여 추종하는데 있어

서 92이상의 정확도를 보이고 있다 그러나 절대적인 위치를

판단할 수 없기 때문에 향후에는 Visual marker를 이용하여 절

대위치를 알아내야 할 것이다 보완해야 할 점은 비젼에 사용하

는데 있어서 조명의 영향은 많은 영향을 끼치는데 본 실험에서

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 78: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

67

도 많은 영향을 받았다 외부 광원의 위치가 바뀌면 장애물의 위

치도 바뀌는 경우가 생겼다 이 문제를 해결하기 위하여 조명의

영향을 최소화 하는 알고리즘을 사용하여야 할 것이다 또한 로

봇이 장애물에 대하여 회피해갈 것인지 아니면 넘어갈 것인지에

대하여 로직으로 하는 판단보다는 퍼지알고리즘을 적용하여 보

다 나은 판단을 해야 할 것이다

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 79: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

68

참고 문헌

[1] 안영명 ldquo곤충 형 다리구조를 갖는 4 족 보행 로봇에 관한

연구rdquo 중앙대학교 대학원 2006

[2] Masahiro Fujita ldquoOn Activating Human Communications

With Pet-Type Robot AIBOrdquo Proceedings of the IEEE

Vol92 issue 11 pp1804-1813 2004

[3] Y Fukuoka H Kimura Y Hada and K Takase

ldquoAdaptive Dynamic Walking of a Quadruped Robot

lsquoTekkenrsquo on Irregular Terrain Using a Neural System

Modelrdquo Proceedings of Robotics and Automation IEEE

Vol4 pp2037-2042 2003

[4] Hodoshima R Doi T Fukuda Y Hirose S Okamoto T

and Mori J ldquoDevelopment of TITAN XI a quadruped

walking robot to work on slopesrdquo Proceedings of

Intelligent Robots and Systems IEEE Vol1 pp792-

797 2004

[5] Choon-Young Lee Ho-Gun Choi Jun-Sik Park Keun-

Young Park Sang-Ryong Lee ldquoCollision Avoidance by

the Fusion of Different Beam-width Ultrasonic

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 80: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

69

Sensorsrdquo Proceedings of sensors IEEE pp985-988

2007

[6] Songmin Jia Akira Yasuda Daisuke Chugo and

Kunikatsu Takase ldquoLRF-Based Self-Localization of

Mobile Robot Using Extended Kalman Filterrdquo SCIE

Annual Conference pp2295-2298 2008

[7] Lu-Fang Gao Yu-Xian Gai and Sheng Fu

ldquoSimultaneous Localization and Mapping for

Autonomous Mobile Robots Using Binocular Stereo

Vision Systemrdquo International Conference on

Mechatronics and Automation pp326-330 2007

[8] Min Zhu Yunjian Ge Shangfeng Huang and Wenbing

Chen ldquoStereo Vision Rectification Based on Epipolar

Lines Match and Three Variables Projective Matrixrdquo

International Conference on Integration Technology

IEEE pp133-138 2007

[9] Han Shin Lim and Hyun Wook Park ldquoA Dense Disparity

Estimation Method using Color Segmentation and

Energy Minimizationrdquo International Conference on

Image Processing IEEE pp1033-1036 2006

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 81: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

70

[10] R Tsai ldquoA versatile camera calibration technique for

high accuracy 3D machine vision metrology using off

the shelf TV cameras and lensesrdquo Journal of Robotics

and Automation IEEE VolRA-3 No 4 pp323-344

1987

[11] ODFaugeras and GToscani ldquoThe Calibration Problem

for Stereordquo Conference on Computer Vision and

Pattern Recognition IEEE pp15-20 1986

[12] httpwwwptgreycom

[13] wwwbluetoothcom

[14] wwwatmelcom

[15] wwwrobotiscom

[16] KSFU RCGonzalez and CSG Lee ldquoRoboticsrdquo

McGRAW-HILL

[17] 정성환 이문호 ldquo오픈소스 OpenCV 를 이용한 컴퓨터 비젼

실무 프로그래밍rdquo 홍릉과학출판사

[18] 김종협 최창혁 송재복 박성기 김문상 ldquo스테레오 비전

방식을 이용한 자율 이동로봇의 격자지도 작성rdquo

한국정 공학회지 제 19 권 제 5 호 pp36-42 2002

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 82: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

71

[19] Park JM Looney CG and Chen HC ldquoFast Connected

Component Labeling Algorithm Using A Divide and

Conquer Techniquerdquo Conference on Computer and

Their Applications pp373-376 2000

[20] Barraquand J Langlois B and Latombe J rdquo Numerical

potential field techniques for robot path planningrdquo

Transaction on Systems Man and Cybernetics IEEE

Vol22 Issue 2 pp224-241 1992

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 83: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

72

부록 A iTiBO의 역기구학 해석

A1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(Denavit-Hartenberg) Parameter

ith link ai αi di өi

First Link 1l -90deg 0 -90deg

Second Link 2l 0deg 0 0deg

Third Link 3l 0deg 0 0deg

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 84: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

73

A3 Inverse Kinematics

⎥⎥⎥⎥

⎢⎢⎢⎢

minus

minus

=

10000010

sincos0sincossin0cos

1111

1111

1

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

2222

2222

2

θθθθθθ

l

l

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ minus

=

10000100

sin0cossincos0sincos

3333

3333

3

θθθθθθ

l

l

A

(1) 0cossin 11 =sdot+sdotminus yx pp θθ

(3) zpa minus=13 sinθ

0sincossin 212121 =+sdot+sdotminus app yx θθθθθ

331212121 coscossincos θθθθθθ aaapp yx =minus+sdot+sdot

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 85: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

74

(1) )(2tan0sincos baAba minusrArr=+ θθ

=gt 0sin)(cos 11 =sdotminus+sdot θθ xy pp

(2)

)(2tan)(2tan0sincos 222 ccbaAabAba minus+plusmnrArr=+ θθ

=gt 122121 sinsin)(cos θθθθθ sdotminus=sdotminus+sdot app xy

2112 θθθ =minus

(3) ⎟⎟⎠

⎞⎜⎜⎝

⎛ minusrArrminus=sdot

333 sinsin

apapa z

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 86: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

75

부록 B 모션 제어기 명령어 테이블

모션

제어

기 명

령어

테이

Moti

on C

ontr

oller

Com

man

d T

able

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블
Page 87: 저작자표시 비영리 공연 및 방송할 수 있습니다 - inha.ac.kr · 2010-10-16 · 저작자표시-비영리-동일조건변경허락 2.0 대한민국 이용자는 아래의

76

감사의 글

언제나 그랬듯이 끝은 더 큰 시작을 의미하고 있습니다 제 곁에서 저와 함께 숨쉬었던 모든 분들에게 감사하며 더 좋은 모습 보여드리기 위해 열심히 살겠습니다

먼저 짧지 않은 대학원 생활 동안 지켜보시고 많은 조언과

충고 가르침을 아끼지 않으셨던 김진걸 교수님과 이보희 교수님 그리고 저에게 많은 가르침을 주신 모든 교수님들에게 감사 드립니다

실험실에서 동고동락을 함께한 경곤형 상호형 정식형 영국

기태 윤섭 우창 상훈형에게 감사의 마음을 전합니다 그리고 같이 로봇을 만들며 같은 꿈을 꾸었던 인구형 남길형 남영형 봉희형 경식형 재민형 성덕형 규태형 우주 해진 성철에게도 감사의 마음을 전합니다 대학 생활에서 알게 된 모든 친구들과 오랜 시간 서로를 믿고 돕던 고교 친구들 광주에 있는 광수 김형근 성일 승현 현중 유형근에게 감사 드립니다

지난 29년간 한결같이 저를 믿고 사랑하며 보살펴 주신

사랑하는 부모님께 너무나도 부족한 이 한 줄의 글로서 감히 감사의 마음 전합니다 끝으로 나의 소중한 반쪽인 경옥이에게 감사와 따뜻한 사랑을 전합니다

더 좋은 모습 보여드릴 것을 약속하며hellip

2009 02 김 기 우

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 스테레오 시각시스템
        • 21 스테레오 영상 시스템 기구 설계
        • 22 카메라 보정
        • 23 카메라 변수
          • 231 내부 변수(Intrinsic parameter)
          • 232 외부 변수(Extrinsic parameter)
            • 24 스테레오 카메라
              • 241 영상의 평행화(Image rectification)
              • 242 카메라 보정과 평행화 결과
                  • 3 iTiBO 로봇의 구조
                    • 31 기구적 구조
                    • 32 제어기 구성
                    • 33 로봇 구동 시스템
                      • 331 로봇의 기구학적 해석
                      • 331 모션 데이터 구조
                          • 4 변위지도 생성과 장애물 검출
                            • 41 전처리 과정(preprocessing)
                            • 42 이미지 상관관계(Image correlation)
                            • 43 후처리 과정(Post processing)
                            • 44 장애물 검출
                              • 5 로봇의 경로생성
                                • 51 포텐셜 필드를 사용한 경로계획 방법
                                  • 511 포텐셜 필드 방법
                                  • 512 포텐셜 필드 방법을 사용한 경로생성
                                    • 52 장애물을 넘을 수 있는 경우의 경로계획
                                    • 53 포텐셜 필드방법과 장애물을 넘어가는 방법을 혼합한 방법
                                      • 6 실험결과 및 고찰
                                        • 61 포텐셜 필드방법을 사용한 경로추종 실험
                                        • 62 로봇의 역기구학을 이용한 장애물 넘기 동작실험
                                        • 63 포텐셜필드 방법과 넘기 동작의 혼합방법
                                          • 7 결론 및 향후 과제
                                          • 참고문헌
                                          • 부록 A iTiBO의 역기구학 해석
                                          • 부록 B 모션 제어기 명령어 테이블