工學碩士學位 請求論文請求論文 - inha · 2010-10-16 · 변형 가능한 6 족 로봇...

73

Upload: others

Post on 10-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

工學碩士學位工學碩士學位工學碩士學位工學碩士學位 請求論文請求論文請求論文請求論文

복잡한복잡한복잡한복잡한 지형에지형에지형에지형에 유연하게유연하게유연하게유연하게 적응할적응할적응할적응할 수수수수 있는있는있는있는

변형변형변형변형 가능한가능한가능한가능한 6 6 6 6족족족족 로봇의로봇의로봇의로봇의 구현구현구현구현

Implementation of a Transformable Hexapod Implementation of a Transformable Hexapod Implementation of a Transformable Hexapod Implementation of a Transformable Hexapod

Robot for the Complex TerrainRobot for the Complex TerrainRobot for the Complex TerrainRobot for the Complex Terrain

2007200720072007 年年年年 2222 月月月月

仁荷大學校仁荷大學校仁荷大學校仁荷大學校 大學院大學院大學院大學院

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

李李李李 相相相相 薰薰薰薰

工學碩士學位工學碩士學位工學碩士學位工學碩士學位 請求論文請求論文請求論文請求論文

복잡한복잡한복잡한복잡한 지형에지형에지형에지형에 유연하게유연하게유연하게유연하게 적응할적응할적응할적응할 수수수수 있는있는있는있는

변형변형변형변형 가능한가능한가능한가능한 6 6 6 6족족족족 로봇의로봇의로봇의로봇의 구현구현구현구현

ImpImpImpImplementation of a Transformable Hexapod lementation of a Transformable Hexapod lementation of a Transformable Hexapod lementation of a Transformable Hexapod

Robot for the Complex TerrainRobot for the Complex TerrainRobot for the Complex TerrainRobot for the Complex Terrain

2007200720072007 年年年年 2222 月月月月

指導敎授指導敎授指導敎授指導敎授 金金金金 振振振振 桀桀桀桀

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

仁荷大學校仁荷大學校仁荷大學校仁荷大學校 大學院大學院大學院大學院

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

李李李李 相相相相 薰薰薰薰

이이이이 論文論文論文論文을을을을 李相薰李相薰李相薰李相薰의의의의 碩士學位碩士學位碩士學位碩士學位 論文論文論文論文으로으로으로으로 提出提出提出提出함함함함

2007200720072007年年年年 2222月月月月

主審主審主審主審

副審副審副審副審

委員委員委員委員

i

목목목목 차차차차

목차목차목차목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차그림목차그림목차그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표표표표 목차목차목차목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약국문요약국문요약국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract Abstract Abstract Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 1 1 1 서론서론서론서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구 배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구 내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 3

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 기구적 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 제어기 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

221 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

222 메시지 제어기와 센서 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

23 구동 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

231 디지털 서보 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

232 모션 데이터 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

24 로봇의 기구학적 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

31 센서 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

32 초음파 거리 센서 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 적외선 거리 센서 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

ii

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 설계설계설계설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

41 스테레오 영상 시스템 기구 설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

42 시점 보간 기술 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

421 시차 계산 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

422 2차원 공간좌표 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

423 스테레오 영상 처리 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 이동 가능 영역 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

52 변형 알고리즘 ndash (퍼지 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

53 변형 알고리즘 ndash (매칭 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

54 iTiBO로봇의 동작 알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

6 6 6 6 실험실험실험실험 결과결과결과결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 54

참고참고참고참고 문헌문헌문헌문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

부록부록부록부록 A ISHURO A ISHURO A ISHURO A ISHURO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 58

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

iii

그림그림그림그림 목차목차목차목차

그림 211 ISHURO 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

그림 212 iTiBO 다리의 세부 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 213 변형 가능한 6족 로봇 iTiBO helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 221 iTiBO 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

그림 222 iTiBO 시뮬레이터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

그림 223 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

그림 224 메시지 제어기와 센서 제어기helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

그림 231 디지털 서보 모터 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 232 모터 모듈의 통신 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

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

그림 241 iTiBO의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 311 iTiBO 센서 시스템 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

그림 321 초음파 거리 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 322 초음파 센서 모듈의 타이밍도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

그림 331 입사각 감지 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 25

그림 332 적외선 거리측정 센서 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

그림 333 아날로그 전압 출력 대 반사 물체와의 거리 helliphelliphelliphelliphelliphelliphelliphellip 26

그림 411 스테레오 영상 처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

그림 412 모터 제어기와 DC 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 421 평행한 영상에서의 시차 개념helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

iv

그림 422 2차원 공간좌표의 검출 과정의 도식화helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 423 스테레오 영상 처리 프로그램helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

그림 424 검출 영역의 라벨링 작업helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 33

그림 425 검출된 장애물의 2차원 지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 521 퍼지 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수helliphelliphelliphellip 37

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 524 로봇의 형태에 따른 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 531 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 532 형태 변형의 예helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 541 iTiBO의 동작 알고리즘helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 45

그림 542 iTiBO의 궤적 전송 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

그림 611 일반 보행 궤적 데이터helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

그림 612 일반 보행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 613 높이제한 보행 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 614 바퀴 주행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 615 다양한 이동 형태helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 50

그림 616 폭 좁은 길 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 51

그림 617 높이 제한 지역 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 52

그림 618 카메라 영상과 시차 지도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 619 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

v

표표표표 목차목차목차목차

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

표 212 iTiBO 시스템 외형 치수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 231 디지털 서보모터의 특성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 15

표 241 D-H 변수 값 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 321 초음파 센서 특성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

표 521 퍼지 알고리즘의 제어 규칙helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 2: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

工學碩士學位工學碩士學位工學碩士學位工學碩士學位 請求論文請求論文請求論文請求論文

복잡한복잡한복잡한복잡한 지형에지형에지형에지형에 유연하게유연하게유연하게유연하게 적응할적응할적응할적응할 수수수수 있는있는있는있는

변형변형변형변형 가능한가능한가능한가능한 6 6 6 6족족족족 로봇의로봇의로봇의로봇의 구현구현구현구현

ImpImpImpImplementation of a Transformable Hexapod lementation of a Transformable Hexapod lementation of a Transformable Hexapod lementation of a Transformable Hexapod

Robot for the Complex TerrainRobot for the Complex TerrainRobot for the Complex TerrainRobot for the Complex Terrain

2007200720072007 年年年年 2222 月月月月

指導敎授指導敎授指導敎授指導敎授 金金金金 振振振振 桀桀桀桀

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

仁荷大學校仁荷大學校仁荷大學校仁荷大學校 大學院大學院大學院大學院

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

李李李李 相相相相 薰薰薰薰

이이이이 論文論文論文論文을을을을 李相薰李相薰李相薰李相薰의의의의 碩士學位碩士學位碩士學位碩士學位 論文論文論文論文으로으로으로으로 提出提出提出提出함함함함

2007200720072007年年年年 2222月月月月

主審主審主審主審

副審副審副審副審

委員委員委員委員

i

목목목목 차차차차

목차목차목차목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차그림목차그림목차그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표표표표 목차목차목차목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약국문요약국문요약국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract Abstract Abstract Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 1 1 1 서론서론서론서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구 배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구 내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 3

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 기구적 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 제어기 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

221 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

222 메시지 제어기와 센서 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

23 구동 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

231 디지털 서보 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

232 모션 데이터 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

24 로봇의 기구학적 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

31 센서 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

32 초음파 거리 센서 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 적외선 거리 센서 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

ii

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 설계설계설계설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

41 스테레오 영상 시스템 기구 설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

42 시점 보간 기술 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

421 시차 계산 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

422 2차원 공간좌표 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

423 스테레오 영상 처리 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 이동 가능 영역 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

52 변형 알고리즘 ndash (퍼지 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

53 변형 알고리즘 ndash (매칭 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

54 iTiBO로봇의 동작 알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

6 6 6 6 실험실험실험실험 결과결과결과결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 54

참고참고참고참고 문헌문헌문헌문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

부록부록부록부록 A ISHURO A ISHURO A ISHURO A ISHURO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 58

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

iii

그림그림그림그림 목차목차목차목차

그림 211 ISHURO 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

그림 212 iTiBO 다리의 세부 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 213 변형 가능한 6족 로봇 iTiBO helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 221 iTiBO 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

그림 222 iTiBO 시뮬레이터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

그림 223 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

그림 224 메시지 제어기와 센서 제어기helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

그림 231 디지털 서보 모터 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 232 모터 모듈의 통신 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

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

그림 241 iTiBO의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 311 iTiBO 센서 시스템 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

그림 321 초음파 거리 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 322 초음파 센서 모듈의 타이밍도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

그림 331 입사각 감지 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 25

그림 332 적외선 거리측정 센서 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

그림 333 아날로그 전압 출력 대 반사 물체와의 거리 helliphelliphelliphelliphelliphelliphelliphellip 26

그림 411 스테레오 영상 처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

그림 412 모터 제어기와 DC 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 421 평행한 영상에서의 시차 개념helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

iv

그림 422 2차원 공간좌표의 검출 과정의 도식화helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 423 스테레오 영상 처리 프로그램helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

그림 424 검출 영역의 라벨링 작업helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 33

그림 425 검출된 장애물의 2차원 지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 521 퍼지 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수helliphelliphelliphellip 37

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 524 로봇의 형태에 따른 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 531 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 532 형태 변형의 예helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 541 iTiBO의 동작 알고리즘helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 45

그림 542 iTiBO의 궤적 전송 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

그림 611 일반 보행 궤적 데이터helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

그림 612 일반 보행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 613 높이제한 보행 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 614 바퀴 주행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 615 다양한 이동 형태helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 50

그림 616 폭 좁은 길 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 51

그림 617 높이 제한 지역 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 52

그림 618 카메라 영상과 시차 지도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 619 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

v

표표표표 목차목차목차목차

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

표 212 iTiBO 시스템 외형 치수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 231 디지털 서보모터의 특성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 15

표 241 D-H 변수 값 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 321 초음파 센서 특성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

표 521 퍼지 알고리즘의 제어 규칙helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 3: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

이이이이 論文論文論文論文을을을을 李相薰李相薰李相薰李相薰의의의의 碩士學位碩士學位碩士學位碩士學位 論文論文論文論文으로으로으로으로 提出提出提出提出함함함함

2007200720072007年年年年 2222月月月月

主審主審主審主審

副審副審副審副審

委員委員委員委員

i

목목목목 차차차차

목차목차목차목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차그림목차그림목차그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표표표표 목차목차목차목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약국문요약국문요약국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract Abstract Abstract Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 1 1 1 서론서론서론서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구 배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구 내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 3

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 기구적 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 제어기 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

221 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

222 메시지 제어기와 센서 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

23 구동 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

231 디지털 서보 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

232 모션 데이터 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

24 로봇의 기구학적 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

31 센서 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

32 초음파 거리 센서 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 적외선 거리 센서 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

ii

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 설계설계설계설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

41 스테레오 영상 시스템 기구 설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

42 시점 보간 기술 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

421 시차 계산 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

422 2차원 공간좌표 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

423 스테레오 영상 처리 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 이동 가능 영역 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

52 변형 알고리즘 ndash (퍼지 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

53 변형 알고리즘 ndash (매칭 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

54 iTiBO로봇의 동작 알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

6 6 6 6 실험실험실험실험 결과결과결과결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 54

참고참고참고참고 문헌문헌문헌문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

부록부록부록부록 A ISHURO A ISHURO A ISHURO A ISHURO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 58

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

iii

그림그림그림그림 목차목차목차목차

그림 211 ISHURO 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

그림 212 iTiBO 다리의 세부 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 213 변형 가능한 6족 로봇 iTiBO helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 221 iTiBO 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

그림 222 iTiBO 시뮬레이터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

그림 223 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

그림 224 메시지 제어기와 센서 제어기helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

그림 231 디지털 서보 모터 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 232 모터 모듈의 통신 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

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

그림 241 iTiBO의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 311 iTiBO 센서 시스템 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

그림 321 초음파 거리 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 322 초음파 센서 모듈의 타이밍도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

그림 331 입사각 감지 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 25

그림 332 적외선 거리측정 센서 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

그림 333 아날로그 전압 출력 대 반사 물체와의 거리 helliphelliphelliphelliphelliphelliphelliphellip 26

그림 411 스테레오 영상 처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

그림 412 모터 제어기와 DC 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 421 평행한 영상에서의 시차 개념helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

iv

그림 422 2차원 공간좌표의 검출 과정의 도식화helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 423 스테레오 영상 처리 프로그램helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

그림 424 검출 영역의 라벨링 작업helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 33

그림 425 검출된 장애물의 2차원 지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 521 퍼지 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수helliphelliphelliphellip 37

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 524 로봇의 형태에 따른 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 531 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 532 형태 변형의 예helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 541 iTiBO의 동작 알고리즘helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 45

그림 542 iTiBO의 궤적 전송 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

그림 611 일반 보행 궤적 데이터helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

그림 612 일반 보행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 613 높이제한 보행 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 614 바퀴 주행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 615 다양한 이동 형태helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 50

그림 616 폭 좁은 길 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 51

그림 617 높이 제한 지역 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 52

그림 618 카메라 영상과 시차 지도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 619 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

v

표표표표 목차목차목차목차

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

표 212 iTiBO 시스템 외형 치수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 231 디지털 서보모터의 특성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 15

표 241 D-H 변수 값 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 321 초음파 센서 특성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

표 521 퍼지 알고리즘의 제어 규칙helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 4: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

i

목목목목 차차차차

목차목차목차목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅰ

그림목차그림목차그림목차그림목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅲ

표표표표 목차목차목차목차 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅴ

국문요약국문요약국문요약국문요약 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅵ

Abstract Abstract Abstract Abstract helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip ⅶ

1 1 1 1 서론서론서론서론 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

11 연구 배경 및 목적 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 1

12 연구 내용 및 논문 구성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 3

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

21 기구적 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 4

22 제어기 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 9

221 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

222 메시지 제어기와 센서 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

23 구동 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

231 디지털 서보 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

232 모션 데이터 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

24 로봇의 기구학적 해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 18

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

31 센서 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

32 초음파 거리 센서 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

33 적외선 거리 센서 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

ii

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 설계설계설계설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

41 스테레오 영상 시스템 기구 설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

42 시점 보간 기술 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

421 시차 계산 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

422 2차원 공간좌표 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

423 스테레오 영상 처리 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 이동 가능 영역 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

52 변형 알고리즘 ndash (퍼지 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

53 변형 알고리즘 ndash (매칭 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

54 iTiBO로봇의 동작 알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

6 6 6 6 실험실험실험실험 결과결과결과결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 54

참고참고참고참고 문헌문헌문헌문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

부록부록부록부록 A ISHURO A ISHURO A ISHURO A ISHURO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 58

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

iii

그림그림그림그림 목차목차목차목차

그림 211 ISHURO 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

그림 212 iTiBO 다리의 세부 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 213 변형 가능한 6족 로봇 iTiBO helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 221 iTiBO 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

그림 222 iTiBO 시뮬레이터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

그림 223 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

그림 224 메시지 제어기와 센서 제어기helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

그림 231 디지털 서보 모터 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 232 모터 모듈의 통신 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

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

그림 241 iTiBO의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 311 iTiBO 센서 시스템 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

그림 321 초음파 거리 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 322 초음파 센서 모듈의 타이밍도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

그림 331 입사각 감지 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 25

그림 332 적외선 거리측정 센서 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

그림 333 아날로그 전압 출력 대 반사 물체와의 거리 helliphelliphelliphelliphelliphelliphelliphellip 26

그림 411 스테레오 영상 처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

그림 412 모터 제어기와 DC 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 421 평행한 영상에서의 시차 개념helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

iv

그림 422 2차원 공간좌표의 검출 과정의 도식화helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 423 스테레오 영상 처리 프로그램helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

그림 424 검출 영역의 라벨링 작업helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 33

그림 425 검출된 장애물의 2차원 지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 521 퍼지 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수helliphelliphelliphellip 37

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 524 로봇의 형태에 따른 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 531 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 532 형태 변형의 예helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 541 iTiBO의 동작 알고리즘helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 45

그림 542 iTiBO의 궤적 전송 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

그림 611 일반 보행 궤적 데이터helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

그림 612 일반 보행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 613 높이제한 보행 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 614 바퀴 주행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 615 다양한 이동 형태helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 50

그림 616 폭 좁은 길 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 51

그림 617 높이 제한 지역 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 52

그림 618 카메라 영상과 시차 지도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 619 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

v

표표표표 목차목차목차목차

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

표 212 iTiBO 시스템 외형 치수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 231 디지털 서보모터의 특성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 15

표 241 D-H 변수 값 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 321 초음파 센서 특성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

표 521 퍼지 알고리즘의 제어 규칙helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 5: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

ii

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 설계설계설계설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

41 스테레오 영상 시스템 기구 설계 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

42 시점 보간 기술 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

421 시차 계산 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

422 2차원 공간좌표 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

423 스테레오 영상 처리 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

51 이동 가능 영역 검출 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 35

52 변형 알고리즘 ndash (퍼지 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

53 변형 알고리즘 ndash (매칭 알고리즘)helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

54 iTiBO로봇의 동작 알고리즘 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 44

6 6 6 6 실험실험실험실험 결과결과결과결과 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 54

참고참고참고참고 문헌문헌문헌문헌 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 55

부록부록부록부록 A ISHURO A ISHURO A ISHURO A ISHURO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 58

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

iii

그림그림그림그림 목차목차목차목차

그림 211 ISHURO 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

그림 212 iTiBO 다리의 세부 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 213 변형 가능한 6족 로봇 iTiBO helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 221 iTiBO 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

그림 222 iTiBO 시뮬레이터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

그림 223 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

그림 224 메시지 제어기와 센서 제어기helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

그림 231 디지털 서보 모터 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 232 모터 모듈의 통신 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

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

그림 241 iTiBO의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 311 iTiBO 센서 시스템 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

그림 321 초음파 거리 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 322 초음파 센서 모듈의 타이밍도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

그림 331 입사각 감지 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 25

그림 332 적외선 거리측정 센서 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

그림 333 아날로그 전압 출력 대 반사 물체와의 거리 helliphelliphelliphelliphelliphelliphelliphellip 26

그림 411 스테레오 영상 처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

그림 412 모터 제어기와 DC 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 421 평행한 영상에서의 시차 개념helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

iv

그림 422 2차원 공간좌표의 검출 과정의 도식화helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 423 스테레오 영상 처리 프로그램helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

그림 424 검출 영역의 라벨링 작업helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 33

그림 425 검출된 장애물의 2차원 지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 521 퍼지 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수helliphelliphelliphellip 37

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 524 로봇의 형태에 따른 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 531 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 532 형태 변형의 예helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 541 iTiBO의 동작 알고리즘helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 45

그림 542 iTiBO의 궤적 전송 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

그림 611 일반 보행 궤적 데이터helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

그림 612 일반 보행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 613 높이제한 보행 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 614 바퀴 주행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 615 다양한 이동 형태helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 50

그림 616 폭 좁은 길 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 51

그림 617 높이 제한 지역 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 52

그림 618 카메라 영상과 시차 지도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 619 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

v

표표표표 목차목차목차목차

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

표 212 iTiBO 시스템 외형 치수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 231 디지털 서보모터의 특성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 15

표 241 D-H 변수 값 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 321 초음파 센서 특성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

표 521 퍼지 알고리즘의 제어 규칙helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 6: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

iii

그림그림그림그림 목차목차목차목차

그림 211 ISHURO 3차원 모델helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 5

그림 212 iTiBO 다리의 세부 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 6

그림 213 변형 가능한 6족 로봇 iTiBO helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 8

그림 221 iTiBO 시스템 구조 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 10

그림 222 iTiBO 시뮬레이터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 11

그림 223 주 제어기 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 12

그림 224 메시지 제어기와 센서 제어기helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 13

그림 231 디지털 서보 모터 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 14

그림 232 모터 모듈의 통신 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 16

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

그림 241 iTiBO의 좌표계 시스템helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 19

그림 311 iTiBO 센서 시스템 구성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 21

그림 321 초음파 거리 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 23

그림 322 초음파 센서 모듈의 타이밍도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

그림 331 입사각 감지 센서helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 25

그림 332 적외선 거리측정 센서 모듈helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 26

그림 333 아날로그 전압 출력 대 반사 물체와의 거리 helliphelliphelliphelliphelliphelliphelliphellip 26

그림 411 스테레오 영상 처리 장치helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 27

그림 412 모터 제어기와 DC 모터 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 28

그림 421 평행한 영상에서의 시차 개념helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 29

iv

그림 422 2차원 공간좌표의 검출 과정의 도식화helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 423 스테레오 영상 처리 프로그램helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

그림 424 검출 영역의 라벨링 작업helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 33

그림 425 검출된 장애물의 2차원 지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 521 퍼지 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수helliphelliphelliphellip 37

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 524 로봇의 형태에 따른 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 531 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 532 형태 변형의 예helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 541 iTiBO의 동작 알고리즘helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 45

그림 542 iTiBO의 궤적 전송 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

그림 611 일반 보행 궤적 데이터helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

그림 612 일반 보행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 613 높이제한 보행 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 614 바퀴 주행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 615 다양한 이동 형태helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 50

그림 616 폭 좁은 길 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 51

그림 617 높이 제한 지역 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 52

그림 618 카메라 영상과 시차 지도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 619 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

v

표표표표 목차목차목차목차

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

표 212 iTiBO 시스템 외형 치수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 231 디지털 서보모터의 특성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 15

표 241 D-H 변수 값 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 321 초음파 센서 특성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

표 521 퍼지 알고리즘의 제어 규칙helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 7: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

iv

그림 422 2차원 공간좌표의 검출 과정의 도식화helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 31

그림 423 스테레오 영상 처리 프로그램helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 32

그림 424 검출 영역의 라벨링 작업helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 33

그림 425 검출된 장애물의 2차원 지도 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 34

그림 521 퍼지 시스템 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 36

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수helliphelliphelliphellip 37

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 39

그림 524 로봇의 형태에 따른 치수helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 40

그림 531 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 41

그림 532 형태 변형의 예helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 42

그림 541 iTiBO의 동작 알고리즘helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 45

그림 542 iTiBO의 궤적 전송 프로그램 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 46

그림 611 일반 보행 궤적 데이터helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 47

그림 612 일반 보행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 48

그림 613 높이제한 보행 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 614 바퀴 주행 영상helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 49

그림 615 다양한 이동 형태helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 50

그림 616 폭 좁은 길 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 51

그림 617 높이 제한 지역 통과 영상 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 52

그림 618 카메라 영상과 시차 지도helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

그림 619 이동 가능한 영역 검출helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 53

v

표표표표 목차목차목차목차

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

표 212 iTiBO 시스템 외형 치수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 231 디지털 서보모터의 특성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 15

표 241 D-H 변수 값 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 321 초음파 센서 특성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

표 521 퍼지 알고리즘의 제어 규칙helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 8: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

v

표표표표 목차목차목차목차

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

표 212 iTiBO 시스템 외형 치수 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 7

표 231 디지털 서보모터의 특성 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 15

표 241 D-H 변수 값 helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 20

표 321 초음파 센서 특성helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 24

표 521 퍼지 알고리즘의 제어 규칙helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip 38

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 9: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

vi

요요요요 약약약약

본 논문에서는 스테레오 영상 장치를 이용하여 장애물을

감지하고 지형을 분석하며 로봇의 안정적인 동작을 위한

이동경로 생성 및 로봇의 변형을 목적으로 한다 퍼지

알고리즘을 통해 환경에 맞게 로봇의 폭과 높이를 결정하고

로봇의 형태를 변형함으로써 지형에 적응하는 로봇 운용의

기술을 다룬다

로봇은 바퀴구동을 통한 평탄한 지형에서의 빠른 이동성과

보행을 통한 평탄하지 않은 지형에서의 이동성의 장점들을

동시에 지닐 수 있는 구조로 설계되었다 안정적인 보행을 위해

6족 형태를 갖추었으며 다리 끝에 구동 가능한 바퀴를

부착함으로써 능동적인 이동이 가능하게 하였다 4개의

다리관절을 이용하여 다양한 형태로의 변형을 가능하게

하였으며 바퀴구동 관절에 수직방향의 회전축을 추가하여

로봇의 회전 및 이동성을 높였다

스테레오 영상 장치뿐만 아니라 로봇의 상태를 체크할 수

있는 다양한 센서모듈을 통해서 로봇의 안정적인 동작이

가능하게 하였다 본 논문에 대해서는 실험을 통해 이를

검증한다

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 10: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

vii

ABSTRACTABSTRACTABSTRACTABSTRACT

The purpose of this dissertation is path creation for stable

action of robot and transformation by using the fuzzy

algorithm Also the obstacles detection and environments

analysis are performed by the stereo vision device

The robot decides the range and the height using the fuzzy

algorithm Therefore the robot is adaptable in topography

through a transformation by itself

The robot is designed to have two advantages One is the

fast movability in flat topography with the use of wheels

The other is the moving capability in uneven ground just by

walking It has six leg forms for a stable walk The wheels

are fixed on the legs of the robot so that various driving is

possible The height and the width of robot can be changed

variously using four joints of each leg The wheeled joint has

extra DOF for a rotation of vertical axis So the robot is able

to rotate through 360 degrees

The robot has various sensor modules for checking the

own state The stable action of a robot is achieved by using

sensors We verified the result of research through an

experiment

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 11: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

1

1111 서서서서 론론론론

11 11 11 11 논문논문논문논문 배경배경배경배경 및및및및 목적목적목적목적

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

크게 나뉠 수 있다 보행로봇으로는 혼다사의 Asimo나 SONY의

Qrio등과 같은 휴머노이드 로봇과 아이보 같은 4족 로봇이 있다

그러나 이러한 로봇은 기본적으로 다 관절 시스템이기 때문에

해석상에 어려움이 많을뿐더러 로봇 구동에 필요한 전력 수급이

원활하지 못한 것이 문제점으로 지적되고 있다

바퀴 달린 로봇들은 장애물을 회피하는 하는 등의 원활한

이동성을 기초로 손쉽게 개발되어 이용되고 있다 그러나 이러한

로봇들은 이동하는 경로에서 턱과 같은 장애물을 만나면 그

턱을 넘어가기가 어렵게 되기 때문에 로봇의 움직임에 제약을

갖게 된다 또한 일반적으로 몸체에 바퀴가 고정된 형태이기

때문에 바닥이 자신의 바퀴간 거리보다 좁은 길에서 이동하는

것이 불가능해진다

이렇게 대별되는 두 개의 이동로봇의 분류를 보면 평지

이동에서는 모바일 로봇이 보다 많은 이득을 가지고 있고

계단이나 장애물을 가지고 있는 경우에는 보행 로봇이 장점을

가진다 이와 동시에 장애물이 있을 시에는 모바일 로봇의

움직임은 한계를 지니게 되고 보행 로봇의 경우에는 일반

평탄한 지형에서의 보행 시 상대적으로 에너지 소비가 많은

문제를 가지고 있다 [1-3]

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 12: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

2

본 연구에서는 앞에서 언급한 모바일 로봇이 갖는 지형에

따른 이동성의 제약과 보행 로봇이 갖는 에너지 효율의 단점을

최소화 할 수 있는 다족 모바일 로봇을 제안하며 스테레오 영상

처리를 이용하여 환경을 인식하고 환경에 맞는 구동방법과 로봇

형태를 결정하여 효율적인 로봇의 구동이 가능하게 하였다[4-

7]

이 로봇은 기본적으로 6족의 다리를 가지고 있으며 외곽의

4개의 다리의 끝에 바퀴 모듈을 장착하였다 다리의 끝에

바퀴모듈이 장착되어 있어 바퀴의 위치를 자유롭게 조정할 수

있게 하였다 스테레오 영상처리로 얻은 환경 정보를 이용하여

바퀴로의 이동이 불가능하다고 판단되는 지형에서는 바퀴

모듈을 정지시키고 다리를 이용한 보행을 통해 이동하게 되므로

이동 능력과 주변 지형에 대한 적응력이 향상되게 하였다

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 13: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

3

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

변형 가능한 6족 로봇 iTiBO는 복잡한 지형에 유연하게

적응하기 위해서 안정적인 6족 보행 형태와 이동성이 빠른

바퀴 구동 형태를 동시에 지니는 구조로 설계되었으며 다리

관절의 이동 범위를 넓혀 환경에 맞게 로봇 형태를 변형할 수

있는 구조로 설계되었다

본 논문에서는 설계된 6족 로봇의 보행을 위해 기구학

해석을 다루었고 로봇의 안정적인 이동을 위한 환경 인식

센서시스템을 제시하였다 그리고 센서시스템의 데이터 처리를

통한 보다 정확한 환경 정보를 얻을 수 있는 알고리즘을

제시하였으며 얻어진 정보를 이용하여 이동에 적합한 형태로

로봇을 변형하는 알고리즘을 제시하였다 이것을 자체 제작한

로봇을 이용하여 실험을 통해 확인하였다

본 논문의 2장에서는 자체 설계 제작한 변형 가능한 6족

로봇 iTiBO에 대한 기구학 및 전체 시스템의 구성에 대해

설명하고 3장에서는 iTiBO의 센서 시스템과 데이터 처리에

대해서 설명하였다 4장에서는 스테레오 영상 시스템 구축과

3차원 환경 데이터 처리에 대해서 설명하였고 5장에서는 3차원

환경 데이터를 통한 로봇의 형태 변형 알고리즘에 대해서

설명하였다 6장에서는 로봇을 이용하여 실험한 결과에 대해서

설명하였다 7장은 결론 및 향후 과제이다

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

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

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

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

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

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

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

6

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

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

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

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

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

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

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

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

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

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

사용하였다

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

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

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

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

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

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

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

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

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

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

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

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

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

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

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

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

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

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

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

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

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

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

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

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

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

보내게 된다

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

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

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

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

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

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

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

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

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

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

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

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

표 241 D-H 변수 값

Table 241 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

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

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

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

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

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

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 14: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

4

2 iTiBO 2 iTiBO 2 iTiBO 2 iTiBO 로봇의로봇의로봇의로봇의 구조구조구조구조

21 21 21 21 기구적기구적기구적기구적 구조구조구조구조

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

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

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

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

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

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

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

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

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

가지고 있음을 알 수 있다

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

Table 211 iTiBO Configuration

주행방식 지형

적합성

에너지

효율성

이동

속도

장애물

극복

자세

유지

2족 보행 times times

무한궤도 times

바퀴 times times

변형 가능한

바퀴와 보행

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

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

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

6

iTiBO의 다리 세부 구조를 나타내고 있다

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

iTiBO의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 15: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

5

변형 가능한 6족 로봇 iTiBO의 각 관절은 200도의 넓은

동작범위를 가지고 있다 그림 211은 CAD를 이용한3D

모델링과 각 관절의 구조를 나타내고 있다

그림 211 iTiBO의 3차원 모델

Fig 211 iTiBO 3D Model

각각의 다리는 위치제어가 되는 5개의 디지털 서보모터로

구동된다 서보모터는 회전각을 체크할 수 있는 가변저항을

장착하고 있으며 서보모터 내부의 컨트롤러는 이 회전각 정보를

이용하여 모터의 회전축 움직임 제어에 사용한다 바퀴 구동을

위한 서보모터는 무한 회전이 가능하며 회전속도를 설정 할 수

있다 각각의 서보모터는 모터에 가해지는 부하 및 온도를 측정

할 수 있어 과부하로부터 모터를 보호할 수 있다 그림 212는

6

iTiBO의 다리 세부 구조를 나타내고 있다

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

iTiBO의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 16: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

6

iTiBO의 다리 세부 구조를 나타내고 있다

그림 212 iTiBO 다리의 세부 구조

Fig 212 Details structure of iTiBO leg

iTiBO의 최대 높이는 3705mm 최대 폭 850mm 최대 너비

800mm이며 전체 무게는 약 52Kg이다 리튬폴리머 2차

전지를 사용하여 로봇의 무게를 줄였으며 148V의 전압에

순간출력 8A이며 용량은 1500mAh로 약 20분간의 연속동작이

가능하다 표 212은 iTiBO의 자세한 외형 치수를 나타낸다

표 212 iTiBO 시스템 외형 치수

Table 212 iTiBO Configuration

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 17: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

7

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

iTiBO의 구동부에는 DX-117 DX-113 AX-12의 3종류의

모터가 사용되었고 각각 1921 1921 2541의 감속기가

내장되어 있다 로봇에 장착되어 있는 주 제어기의 상태를

확인할 수 있는 7인치 LCD를 부착하여 로봇의 상태를 체크할

수 있도록 하였다 그림 213는 iTiBO의 실제 전체시스템을

보여준다

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 18: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

8

그림 213 변형 가능한 6족 로봇 iTiBO

Fig 213 Transformable hexapod robot iTiBO

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 19: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

9

22 22 22 22 제어기제어기제어기제어기 구성구성구성구성

제어시스템은 크게 세 부분으로 나눌 수 있다 영상 처리

카메라 움직임 제어 로봇의 보행궤적 생성을 담당하는 주

제어기와 30개의 모터 제어기에 보행 궤적 데이터를 전송하는

메시지 제어기 마지막으로 센서 입력 및 센서 데이터 처리를

담당하는 센서 제어기로 나뉜다

영상 카메라는 Point Gray社의 소형 IEEE-1394 디지털

카메라를 사용하였으며 카메라의 움직임 제어를 위해

Maxon社의 DC-서보모터와 Atmel社의 AVR-ATmega128

컨트롤러를 이용한 모터제어기를 사용하였다 중앙 처리기로는

작은 크기의 Micro-ITX 메인보드와 Intel社의 펜티엄4 CPU

Windows-XP 운영체제로 영상처리 성능과 프로그램 이식성을

높였다 Ardence社의 Real-Time 라이브러리를 이용하여

실시간성을 보장 하였고 로봇에 7인치 LCD를 부착해 로봇이

처리하는 영상정보 및 궤적정보를 모니터링 할 수 있게 하였다

사용자와 로봇과의 인터페이스는 Blue-Tooth 무선통신을

사용하였다

메시지 제어기는 다양한 인터페이스 환경을 구축할 수 있는

Atmel社의 AT-mega128 CPU를 사용하였으며 적외선 센서

초음파 센서 외부 메모리와 같은 모듈의 확장성을 용이하게

했다 적외선 센서는 물체에 반사되는 빛의 반사각을 이용하는

방식으로써 외부 광원의 영향을 덜 받을 수 있어 거리측정의

정밀도가 향상되었으며 초음파 센서와 병행하여 장애물 감지의

10

정확도를 높일 수 있게 하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 20: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

10

정확도를 높일 수 있게 하였다

6족 보행을 위한 모터 모듈은 로보티즈社의 DX-117 DX-

113과 AX-12 모듈을 사용하였으며 DC 16V에서 최고 약

38KgfCm의 힘을 가지는 이들 모듈은 RS-485 통신방식을

취하고 있다 이 중 AX-12모터 모듈은 무한 회전 기능이 있어

다리 끝의 구동 바퀴용 모터로 사용하였다 그림 221는 변형

가능한 6족 로봇의 제어 시스템 구조를 나타낸다

그림 221 iTiBO 시스템 구조

Fig 221 iTiBO System Configuration

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 21: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

11

시뮬레이터(User Interface Module)는 OpenGL을 사용한

3D 기반의 PC 소프트웨어이다 변형 가능한 6족 로봇은 다축

구동 시스템으로 보행 시 여러 개의 관절이 동시에 움직여야

하는데 로봇의 안정적인 보행을 구현하기 위해서는

시뮬레이터를 이용해 생성된 궤적을 미리 검증하여 궤적에 대한

안정성을 판단해야 한다 그림 222는 시뮬레이터를 나타낸다

그림 222 iTiBO 시뮬레이터

Fig 222 iTiBO Simulator

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 22: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

12

221 221 221 221 주주주주 제어기제어기제어기제어기

주 제어기는 Intel Pentium 4 28GHz CPU를 탑재한 Micro-

ITX 타입의 메인보드를 쓰고 있으며 DDR2-533MHz 속도와

1GByte 용량의 메인 메모리와 40GByte의 18인치 보조

저장장치를 가지고 있다 운영체제로는 Windows XP를

사용하여 프로그램의 이식성과 시스템의 안정성을 높였다

USB PS2 Mini-PCI RS-232와 같은 확장포트가 있으며

IEEE-1394 컨트롤러를 가지고 있어 스테레오 영상장치와의

연결이 가능하다 그림 223은 iTiBO의 주 제어기 모습이다

그림 223 주 제어기

Fig 223 Main Controller

주 제어기는 궤적생성 및 영상 정보 처리를 통한 전반적인

로봇의 움직임을 담당하는 기능을 가진다 메시지 제어기와 센서

제어기와의 통신은 RS-232 방식을 이용하였으며 IEEE-

1394를 이용하여 영상시스템과 통신한다

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 23: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

13

222 222 222 222 메시지메시지메시지메시지 제어기와제어기와제어기와제어기와 센서센서센서센서 제어기제어기제어기제어기

메시지 제어기와 센서 제어기는 2개의 RS-232 통신이

가능한 Atmel社의 AVR-ATmega128 CPU를 사용하였으며

MAX232를 이용하여 주 제어기와 115200bps의 속도로 RS-

232 방식의 통신을 사용하였다 30개의 모터들은 Daisy Chain

방식으로 연결되어 있어 깔끔한 전선 처리가 가능하며 명령어와

ID로 모터를 선택하여 각각 제어할 수 있다

순간적으로 큰 전력이 사용될 때에 충분한 전력을 공급하기

위한 대용량 축전지(4700uF)를 사용하였으며 스위칭 변압

소자와 선형 변압소자를 병용하여 전원에서 들어오는 신호

잡음을 줄여 오동작에서 오는 위험성을 낮추었다

센서 제어기는 초음파 센서 적외선 센서 가속도 센서에서

들어오는 값을 처리하며 20ms의 샘플링 주기로 데이터를 주

제어기로 전송할 수 있다 그림 224에 개발된 메시지 제어기와

센서 제어기를 나타내었다

그림 224 메시지 제어기와 센서 제어기

Fig 224 Massage Controller and sensor Controller

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 24: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

14

23 23 23 23 로봇로봇로봇로봇 구동구동구동구동 시스템시스템시스템시스템

231 231 231 231 디지털디지털디지털디지털 서보서보서보서보 모터모터모터모터

본 연구에서는 로봇의 관절 구동을 위해 로보티즈사의 DX-

117 AX-12의 디지털 서보 모터 모듈을 사용하였다 감속기

제어 장치 통신기능이 일체형으로 되어 있으며 작은 크기에 큰

힘을 낼 수 있고 강한 외력에 견딜 수 있는 엔지니어 플라스틱

재질로 되어있어 하드웨어 설계 시에 이점을 갖고 있다 그림

231은 두 종류의 디지털 서보모터 모듈의 모습이다

그림 231 디지털 서보 모터 모듈

Fig 231 Digital Servo-Motor Module

DC 16V에서 최고 약 385 KgfCm의 힘을 가지는 이들

모듈은 RS-485 통신방식을 취하고 있으며 1Mbit의

고속통신이 가능하도록 설계되어 있다 1024단계의 해상력을

가지고 있어 정밀하게 위치와 속도를 제어 할 수 있으며 또한

내부온도 변화 및 공급전압의 변화 등의 상황을 인식하여

처리할 수 있는 기능을 가지고 있다 표 231은 디지털

서보모터의 특성을 나타낸다

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 25: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

15

표 231 디지털 서보모터의 특성

Table 321 Characteristics of Digital Servo-Motor

Actuator DX-117 AX-12

Voltage 12V ~ 16V 7V ~ 10V

Max Current 1200mA 900mA

Gear Ratio 1 1926 1 254

Max Holding Torque 385 kgfCm 165 kgfCm

Sec 60 degree 0129 0196

Operating Angle 300deg 300deg Free

Protocol type RS-485 RS-232

ID 254 (0~253)

Operating Temp -5 ~ +85

Feedback Position Load Voltage and Temp

본 연구에서 사용한 디지털 서보모터 모듈에서 사용하는 통신

규약인 RS-485(IEEE-485)는 하나의 노드에 여러 개의

터미널이 연결되어 있는 멀티 드롭 링크 방식이다 때문에 여러

군데에서 동시에 데이터를 송신하지 않도록 프로토콜이

운영되어야 한다 그림 232와 같이 연결된 시스템에서 메인

제어기가 ID=N으로 설정된 명령 패킷을 전송할 경우 여러 개의

모듈 중 ID가 N인 모듈만이 상태 패킷을 되돌려주고 그 명령을

수행한다 그림 232는 메시지 제어기와 모터 모듈간의

통신방식을 나타내고 있다

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 26: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

16

그림 232 모터 모듈의 통신 시스템

Fig 232 Communication System of Motor Module

232 232 232 232 모션모션모션모션 데이터데이터데이터데이터 구조구조구조구조

변형 가능한 6족 로봇 iTiBO는 로봇의 모양을 나타내기 위해

30개에 해당하는 각 관절의 각도 값이 필요하다 이러한 한가지

모습들이 연속적으로 바뀌면서 로봇은 움직이게 된다 동작에

따라 연속적인 흐름이 될 수 있고 정적인 상태가 될 수 있다

예를 들어 걷거나 이동할 경우엔 연속적인 흐름이 필요하지만

그 자세를 유지하거나 특정한 부분만 움직일 경우에는 정적인

상태가 될 수 있다 이러한 가변적인 흐름은 로봇의 움직임에

필요한 궤적 데이터를 줄여주는 효과를 가져온다

iTiBO는 가변적인 주기로 로봇의 궤적 데이터를 전송하며

전체 궤적뿐만 아니라 필요한 부분에만 궤적 데이터를 전송할

수 있는 구조로 되어있다 명령하고자 하는 모터 ID와 목적

위치 속도 토크 등을 연속적으로 보내는 구조로 되어 있다

그림 233는 iTiBO에서 사용하는 모션 데이터 구조와 전송

알고리즘을 나타내고 있다

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 27: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

17

그림 233 모션 데이터 구조와 전송 알고리즘

Fig 233 Motion Data Structure and Transfer Algorithm

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 28: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

18

그림 233에서와 같이 iTiBO에서 사용하는 모션 데이터

전송 알고리즘은 전체 34개의 관절 각도 값을 받을 수 있으며

부분적인 관절의 값만 받을 수도 있다 데이터의 검증 절차를

거처 오류가 있을 경우에는 주 제어기에 재전송 요청 신호를

보내게 된다

메시지 제어기에서는 모터에 전송하는 데이터 양을 줄이기

위해 현재 관절이 가지고 있는 값과 비교하여 값이 바뀐

관절에만 새로운 각도 값을 전송할 수 있도록 하였다

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 29: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

19

24 24 24 24 로봇의로봇의로봇의로봇의 기구학적기구학적기구학적기구학적 해석해석해석해석

변형 가능한 6족 로봇 iTiBO의 기구학 해석을 위해 좌표계를

구성하였다 로봇의 특성상 6개의 다리가 같은 형태로 되어있어

하나의 다리관절의 해석으로도 전체 로봇의 구조를 해석할 수

있다 그림 241은 iTiBO 시스템의 좌표계이다

그림 241 iTiBO의 좌표계 시스템

Figure 241 Coordinate system of iTiBO

기구학 해석을 위해 좌표계는 강체의 링크 사이의 관계를

표시하는 D-H(Denavit-Hartenberg) 표기법을 사용하여 세

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 30: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

20

부분의 단순 기구 연쇄로 표시하였다 표 241는 iTiBO의

시스템의 D-H 변수 값을 나타내었다

표 241 D-H 변수 값

Table 241 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

iTiBO 시스템의 역기구학은 부록 A에 나타내었다

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 31: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

21

3 iTiBO 3 iTiBO 3 iTiBO 3 iTiBO 센서센서센서센서 시스템시스템시스템시스템

31 31 31 31 센서센서센서센서 시스템시스템시스템시스템 구조구조구조구조

로봇의 안정한 이동과 형태변형을 위해서는 로봇의 주변환경

에 대한 3차원 정보가 필요하다 스테레오 영상 처리로 얻은 환

경 정보는 주 제어기에서 처리되어 3차원 지도 정보를 추출해

내고 적외선 거리 센서 초음파 거리 센서 기울기 센서 온도

센서 등은 센서 제어기를 통해 데이터를 전달하며 센서 제어기

에서는 여러 센서 정보를 정리하여 주 제어기로 보내진다 주 제

어기에서는 얻어진 센서 정보를 이용하여 추가적인 로봇 주변의

환경정보를 알 수 있다 그림 311은 현재 구성된 센서시스템을

나타낸다

그림 311 iTiBO 센서 시스템 구성

Fig 331 iTiBO Sensor System Configuration

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 32: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

22

32 32 32 32 초음파초음파초음파초음파 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇의 물체 인식을 위해 스테레오 영상 시스템

을 구축하였다 하지만 영상 데이터는 빛에 의한 정보 수집 방식

이기 때문에 날씨나 조명등에 의해 그 데이터의 정확성을 보장

받을 수 없는 경우가 발생하게 된다 본 연구에서는 초음파를 이

용한 거리감지 센서를 추가적으로 사용하여 영상데이터의 정확

성을 높일 수 있도록 하였다

초음파 센서에 사용하는 초음파 방사기(Ultrasonic Emitter)는

높은 주파수(일반적으로 200KHz 범위)의 음파를 주기적으로

방사한다 초음파 센서의 운용에는 대항모드와 반향모드의 두 가

지 모드가 있다 대항모드(Opposed Mode) 수신기는 방사기 앞

에 위치해 있는 반면 반향모드(Echo Mode)는 수신기가 바로

옆에 있거나 방사기와 통합되어 있어 반사된 음파를 수신 받는

방식이다

모든 초음파 센서는 방사기 표면으로부터 물체의 거리와 존재

를 인지할 수 없는 사각지대를 가지고 있다 초음파 센서는 반향

모드에서 음파를 반사할 수 없는 고무나 거품 같은 표면을 가진

물체에 대해서는 사용할 수 없다

그림 321은 송수신부가 분리되어 좀 더 가까운 거리 측정이

가능하도록 설계된 반향모드 형태의 초음파 센서 모듈의 모습이

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 33: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

23

그림 321 초음파 거리 센서

Fig 321 Ultrasonic Distance Sensor

방사기에서 방출된 초음파는 공기보다 고밀도의 물체 즉 대부

분의 물체에서 반사되기 때문에 이 반사파를 수신기로 검출한다

또 이 수신기는 단순히 물체의 유무를 검출할 뿐만 아니라 물체

까지의 거리 측정이 가능하다 초음파를 발생시키고 이와 동시

에 숫자 세기를 시작하고 초음파가 돌아온 것이 감지되면 세는

것을 멈춘다 이 때 세어진 값을 읽어 초음파가 되돌아오는 데

걸린 시간을 계산하여 거리를 측정하는 것이다

숫자를 세는 데 걸리는 시간이 [ ]smicro 1 라면 n번 세었을 때 초

음파가 되돌아 왔을 때 걸린 시간은 [ ]snt micro = 가 된다 소리의

속도는 [ ]sm 340 (기온 15)이므로 거리는 속도times시간으로 구

할 수 있다 초음파는 벽과 센서 사이와의 왕복 거리이므로 벽까

지의 거리 S 는 [ ]mttvS 2340times=times= 가 된다 마지막에 2로

나눈 것은 측정한 시간이 왕복시간이기 때문이다

그림 322은 본 연구에서 사용하는 SRF04 초음파 센서 모듈

의 물체인식에 따른 출력신호를 나타내고 있다

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 34: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

24

그림 322 초음파 센서 모듈의 타이밍도

Fig 322 Ultrasonic sensor module timing diagram

표 321은 본 연구에서 사용한 SRF04 모델의 초음파 센서의

특징을 나타낸다

표 321 초음파 센서 특성

Table 321 Ultrasonic Sensor Characteristics

ParameterParameterParameterParameter ValueValueValueValue

Input Voltage 5V only required

Current 30mA Typ 50mA Max

Frequency 40 KHz

Max Range 3000 mm

Min Range 30 mm

Sensitivity Detect 3 Cm diameter at 2 m

Size 43mmtimes20mmtimes17mm

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 35: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

25

33 33 33 33 적외선적외선적외선적외선 거리거리거리거리 센서센서센서센서

본 연구에서는 로봇에 적외선 반사각 측정방식의 거리감지 센

서를 추가로 장착하여 환경인식의 정확성을 높였다 초음파 센서

의 1m 범위에서의 정확성이 상대적으로 떨어지기 때문에 적외

선 방식의 센서를 이용하였다

사용한 SHARP사의 GP2D12센서 모듈은 일반적인 적외선

광량 검출 방식이 아닌 반사각 측정방식으로 그림 331의 입사

각 감지 센서를 이용하여 송신한 적외선이 목표물에서 반사되어

돌아오는 각도를 측정해 센서와 목표물의 거리를 출력한다 적외

선 필터에 의하여 외부의 교란성 빛을 차단하는 구조로 되어 있

어 일반적인 광량 측정방식에 비해 80Cm 150Cm로 최대 측정

거리가 먼 장점이 있다 내부의 신호처리 회로가 내장되어 있어

안정적인 신호를 출력해준다 그림 331은 적외선 거리측정 센

서 모듈의 모습이다

그림 331 입사각 감지 센서

Fig 331 Incident Angle Detection Sensor

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 36: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

26

그림 332 적외선 거리측정 센서 모듈

Fig 332 Infrared Distance Measuring Sensor Module

그림 333은 물체의 거리에 따른 출력전압 값을 나타내고

있다 반사되어 돌아오는 적외선의 양의 차이가 있기 때문에

거리가 가까울수록 감지능력이 높고 상대적으로 먼 거리일수록

떨어지는 모습을 볼 수 있다

그림 333 아날로그 전압 출력 대 반사 물체와의 거리

Fig 323 Analog Output Voltage vs Distance to Object

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 37: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

27

4 iTiBO 4 iTiBO 4 iTiBO 4 iTiBO 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템

41 41 41 41 스테레오스테레오스테레오스테레오 영상영상영상영상 시스템시스템시스템시스템 기구기구기구기구 설계설계설계설계

영상시스템은 보다 넓은 범위의 환경인식을 위해 상 하 좌

우를 움직일 수 있는 2개의 모터와 각각의 카메라의 좌 우를

움직일 수 있는 2개의 모터를 사용해 총 4개의 자유도를 가지

고 있으며 인간의 시각 구조와 같은 수평시차 성분만 가지도록

설계되었다 카메라 사이의 간격을 조정할 수 있도록 하여 스테

레오 영상 처리에서의 카메라 간격에 따른 3차원 지도생성의 정

밀도와 특징들을 연구할 수 있도록 하였다 Point-Gray社의

IEEE-1394방식의 디지털 카메라로 추가적인 Grabber 보드가

필요 없어 기존의 아날로그 카메라보다 영상 시스템 구축이 간

편해졌다 그림 411은 CAD를 이용한 스테레오 영상 시스템의

모델링과 실제 모습을 보여준다

그림 411 스테레오 영상 처리 장치

Fig 411 Stereo Vision System

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 38: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

28

그림 412은 영상 처리 장치에서 사용하는 모터와 모터 제어

기이다 모터는 Maxon社의 RE-Max17모델이며 18V에서

45W의 출력을 가진다 직접 설계하고 제작한 모터 제어기는

Atmel社의 Atmega128 MCU를 사용하여 16MIPS의 속도와 다

양한 통신 확장성을 가지고 있으며 5ms의 샘플링 주기로 2개의

모터를 PID제어 알고리즘으로 제어할 수 있다 모터 드라이버로

는 LMD18200을 이용해 최대 55V에서 3A의 연속전류를 공급

할 수 있도록 하였다 RS-485 RS-232 방식의 통신을 이용하

여 메시지 제어기와 연결되며 관절 구동용으로 사용하는 DX-

117 디지털 서보 모터 모듈의 명령어와 호환되도록 하였다

그림 412 모터 제어기와 DC 모터

Fig 412 Motor Controller and DC-motor

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 39: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

29

42 42 42 42 시점시점시점시점 보간보간보간보간 기술기술기술기술

421 421 421 421 시차시차시차시차 계산계산계산계산

보통의 스테레오 카메라의 기하학적인 모델은 두 대의

카메라가 같은 방향을 바라보는 구조를 가지며 응용분야에 따라

다양한 형태를 가진다 본 연구에서는 그림 421과 같이 두

대의 카메라가 평행하게 배치되어 있는 구조로 가정한다

공간상의 한 점 P(X Y Z)는 각각 좌우 영상에서 pl과 pr로

맺혀지고 이 두 점은 서로 대응점이 된다 두 점이 좌우 두

영상에서 모두 보이는 경우 두 점 사이의 거리를 시차라고

한다[8-10]

그림 421 평행한 영상에서의 시차 개념

Fig 421 Disparity concept in parallel image

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 40: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

30

본 연구에서는 평행한 스테레오 영상을 구성하였기 때문에

사치는 수평 성분만 존재한다 식 421은 대응되는 두 점의

관계를 시차를 이용해서 나타내고 있다 식 421에서

)( llRL yxd =rarr 은 왼쪽 영상을 기준으로 하는 오른쪽 영상에

대한 시차 성분이다

+=

+

=

= rarrrarr

0

)()( llRLl

l

llRLl

r

rr

yxdp

y

yxdx

y

xp (421)

두 영상의 시선 축이 평행하기 때문에 영상 내 모든 픽셀에

대한 에피폴라 라인(Epipolar line)은 영상의 X축과 평행하다

에피폴라 기하학(epipolar geometry)의 성질상 대응점은 이 선

위에 존재하므로 영상의 모든 시차 벡터는 X축과 평행하게 된다

[11] 이러한 특징을 이용하여 두 영상간의 시차를 계산하였다

카메라로부터 들어오는 영상은 환경에 따라 그 정보의 차이가

심하게 나타나기 때문에 정확한 물체 검출이 어려워지게 된다

이러한 문제를 해결하기 위해 필터 및 여러 영상처리 기법을

사용하였다

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 41: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

31

422 2422 2422 2422 2차원차원차원차원 공간좌표공간좌표공간좌표공간좌표 검출검출검출검출

식 422과 같이 SAD(Sum of absolute difference)비용

함수를 이용하여 검출된 영상블록간의 정합 과정을 수행하여

시차지도를 얻게 된다[12]

(422)

LI 과 RI 은 각각 좌 우 영상을 나타낸 것이고 2

m은 각

블록간의 크기를 나타낸 것이다 또한 maxd 와 mind 은 각 블록 간

탐색할 수 있는 시차의 최대 최소 범위를 나타낸 것이다

그림 422는 로봇 전방에 존재하는 모든 물체들과의

상대위치 관계를 분석하기 위해 검출한 시차지도의 2차원적

분석 결과이다 이 자료를 바탕으로 로봇의 진행 경로 및

장애물에 따른 형태 변형을 결정하게 된다

그림 422 2차원 공간좌표의 검출 과정의 도식화

Fig 422 Diagramming of detection of 2 dimensions

space coordinate

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 42: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

32

423 423 423 423 스테레오스테레오스테레오스테레오 영상영상영상영상 처리처리처리처리 프로그램프로그램프로그램프로그램

스테레오 영상 처리를 위한 전용 프로그램을 구현하였다

IEEE-1394 디지털 카메라의 영상신호를 받아오기 위해서는

제조사에서 제공하는 C++ 기반의 라이브러리를 사용해야 한다

프로그램은 크게 카메라에서 영상신호 획득 및 필터 적용부분

RGB 히스토그램 출력부분 처리 결과 출력부분 2차원 지도

생성 및 경로 생성 부분으로 나누어져 있다

그림 423은 윈도우 환경 기반의 스테레오 영상 처리

프로그램을 나타낸다

그림 423 스테레오 영상 처리 프로그램

Fig 423 Stereo vision process program

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 43: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

33

장애물을 검출하기 위해서는 장애물의 특이점을 찾아야

하는데 영상데이터의 특징상 조명 및 주변환경에 취약한

부분이 있게 된다 이러한 문제를 해결하기 위해 장애물에 적색

계열의 표시를 해두었다 장애물에 대한 로봇의 극복 방향에

대한 논문이기에 스테레오 영상 처리 기법의 비중을 낮게

두었다

장애물을 검출하기 위해 색 필터를 사용하여 적색 계열의

영역을 검출하여 2진화 하였다 이후 Labeling 작업을 하여 각

영역을 구분하였으며 영역의 위치 및 크기에 대한 정보를

추출하였다 Labeling 알고리즘은 기본적인 Grassfire

알고리즘을 적용하였다 자세한 내용 및 프로그래밍 코드는

부록에 첨부하였다

그림 424는 검출된 장애물의 Labeling 작업을 보여주고

있다 검출된 장애물간의 매칭되는 부분을 표시해 주었다

그림 424 검출 영역의 라벨링 작업

Fig 424 Labeling process of detected area

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 44: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

34

검출된 장애물에서 3차원적인 위치정보뿐만 아니라 장애물의

크기 및 높이에 해당하는 정보도 추출하게 된다 이러한 정보를

바탕으로 로봇이 진행하는 경로를 설정할 수 있게 되며 로봇이

장애물을 지날 때에 필요한 변형을 고려할 수 있게 된다

그림 425는 검출된 장애물 정보를 이용하여 2차원 지도를

생성한 모습이다 장애물의 위치와 폭을 표시하였으며 장애물

사이의 공간에 대한 거리 결과값을 추출하여 로봇의 진행경로

및 변형 형태 결정에 필요한 장애물의 사이의 폭을 계산할 수

있다

그림 425 검출된 장애물의 2차원 지도

Fig 425 Two dimensions map of detected obstacle

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 45: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

35

5 5 5 5 형태형태형태형태 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘

51 51 51 51 이동이동이동이동 가능가능가능가능 영역영역영역영역 검출검출검출검출

스테레오 영상에서 얻은 물체의 깊이 지도를 이용하여 로봇이

진행 할 수 있는 영역을 결정하게 된다 로봇이 변형 가능한 형

태와 이동 가능한 영역을 매칭하여 부합되는 지역을 결정하고

이동의 효율성을 고려하여 변형 방법을 선택하게 된다

깊이 지도에서 이동 가능한 영역을 검출하기 위해서는 로봇과

장애물까지의 거리정보와 카메라의 상 하 각도 값이 필요하다

검출되는 장애물과의 거리에 따라 검출 가능한 영역의 Y 축

범위의 크기가 변하게 되고 카메라의 각도에 따라 라인의 Y 축

기준 위치가 결정되게 된다

검출 가능한 영역이 결정되면 연산 속도를 높이기 위해

320240 픽셀의 화면을 3224 개의 영역으로 단순화시키게

된다 수평선 마다 최대 거리와 최소 거리를 구하고 그 차의

평균값보다 적은 영역을 이동 가능 영역으로 결정하게 되며

이동 가능한 영역 지도를 얻을 수 있다

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 46: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

36

52 52 52 52 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (퍼지퍼지퍼지퍼지 알고리즘알고리즘알고리즘알고리즘))))

본 논문에서는 두 가지의 알고리즘을 사용하여 로봇의 형태

변형을 담당하게 한다 첫 번째는 장애물 사이의 넓이를

추출하여 퍼지 알고리즘을 통해 변형 가능한 로봇 폭을

조절하는 방법이며 두 번째는 매칭 알고리즘을 사용하여

기본적인 로봇 형태를 장애물 사이의 공간과 매칭하여 변형하는

방법이다

본 논문에서는 장애물 사이의 폭과 높이를 입력으로 하는

퍼지 알고리즘을 이용하여 변형 가능한 로봇의 폭을 연산하였다

퍼지 제어기를 구현하는데 있어서 퍼지화(fuzzification)

과정과 추론 규칙(Rule-base)을 이용한 퍼지 값 결정

(Inference Engine) 그리고 비퍼지화(defuzzification) 과정을

통해 로봇의 폭 변화량을 결정하였다 그림 521 은 퍼지

시스템에 대한 설명이다

그림 521 퍼지 시스템

Fig 521 Fuzzy System

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 47: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

37

먼저 퍼지화 과정을 수행하기 위해 입력 값으로 장애물

사이의 간격을 에러 값으로 공간의 높이를 에러의 변화량으로

하여 퍼지 입력으로 설정 하였다 이를 토대로 그림 522의

멤버쉽 함수를 이용하여 현재 상태를 퍼지화 하였다 여기에서

퍼지화 과정에 있어 에러와 에러의 변화량에 대해 각각 5개의

중심값을 가진 멤버십 함수(Membership function)을

사용하였다

장애물 간의 거리 값의 차이와 공간의 높이에 대해 멤버십

함수를 구성할 때에 함수의 중심값은 로봇이 기본 자세에 있을

경우의 로봇의 폭 값을 측정 범위를 기준으로 구성하였으며

멤버십 함수의 중심값의 변화를 70으로 하였다

그림 522 에러 및 에러 변화량에 관한 입력 멤버쉽 함수

Fig 522 Input membership function of error and

differential error

그림 522 을 통해 구성된 멤버쉽 함수로부터 장애물 사이의

공간에 대한 폭과 높이 값에 대해 퍼지화를 통해 퍼지값으로

공간에 대한 로봇의 변형 가능함을 추정한다 이를 통해 결정된

퍼지 값은 제어 규칙에 의해 출력되어야 할 결과를 얻게 된다

식 (521)은 퍼지 제어 규칙이다

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 48: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

38

If e is 1A and eamp is 2A then u is B (521)

여기서 1A 2A B 는 각각 공간의 폭 공간의 높이 출력

값을 의미한다 식 (521)의 제어 규칙을 통해 얻어진 퍼지

결과는 로봇의 변형해야 하는 로봇 폭 값을 얻는 데 사용된다

표 521은 전체 제어 규칙을 나타낸다

표 521 퍼지 알고리즘의 제어 규칙

Table 521 Rule base of fuzzy algorithm

eamp

NL NS Z PS PL

NL X X X X X

NS X X X NL NVL

Z X X Z NS NL

PS X PL PS Z NS

e

PL X PVL PL PS Z

표 521에서 사용된 언어 규칙은 NVL NL NS Z PS PL

PVL X 로 표현 가능하며 그 의미는 각각 Negative Vary

Large Negative Large Negative Small Zero Positive Small

Positive Large Positive Vary Large Donrsquot Care 이다 Donrsquot

Care 는 로봇이 지나갈 수 없는 영역임을 의미한다 이렇게

정의된 언어 규칙을 이용한 제어 규칙을 기초로 하여 현재 로봇

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 49: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

39

변형에 대해 추론을 수행하였다 그리고 이러한 추론 결론을

비퍼지화 과정을 통해 로봇의 변형 폭을 결정하게 된다 폭 값을

결정하기 위해 Center Average 방법을 이용하여 비퍼지화

과정을 수행하였다 그림 523은 출력에 대한 멤버십 함수이다

그림 523 로봇 폭 결정에 관한 출력 멤버쉽 함수

Fig 523 Output membership function about robot

width

출력 멤버십 함수는 로봇의 이동에 있어 변형의 안정성 여부

및 반응 속도와 관련되어 있기 때문에 값을 결정하는데 있어서

최적의 값을 구해내야 안정된 움직임을 취할 수 있게 된다

이러한 최적의 안정화 움직임을 구현하기 위해 본 논문에서는

출력 멤버십 함수의 중심값과 변화량을 반복된 실험을 통하여

결정하였다 출력 값의 크기가 클 경우 로봇의 변형의 크기가

커질 가능성이 있기 때문에 출력 멤버쉽 함수의 좌우 최대값의

기울기를 낮추고 lsquo0rsquo 부분의 기울기를 높였다

그림 524 는 로봇의 형태에 따른 높이와 폭의 값을

보여주고 있다 기본자세의 로봇의 폭과 높이는 멤버쉽 함수의

기본값으로 사용하였다 좌측 하단의 그림이 기본자세를

나타낸다

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 50: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

40

그림 524 로봇의 형태에 따른 치수

Fig 524 Size by form of robot

로봇의 변형 가능한 폭의 범위는 410~710mm 이며 높이는

200~365mm 가 된다

로봇의 폭과 높이는 서로 상관관계에 놓여있기 때문에 어느

한쪽만 만족해서는 장애물 사이의 공간을 통과할 수 없게 된다

역기구학으로 폭과 높이에 따른 각 관절 값을 실시간으로

계산하기에는 시간이 많이 걸리기 때문에 20mm 단위로

구분하여 각 값에 따른 관절의 각도를 미리 계산하여 데이터화

하였다 폭에 관해 15 가지 높이에 대해 8 가지의 계산 값이

나왔으며 이 두 가지의 값을 동시에 만족하도록 출력 값을

조절하였다

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 51: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

41

53 53 53 53 변형변형변형변형 알고리즘알고리즘알고리즘알고리즘 ndashndashndashndash ( ( ( (매칭매칭매칭매칭 알고리즘알고리즘알고리즘알고리즘))))

본 연구에서는 시차 지도에서 얻어진 로봇의 전체 이동 가능

영역 내에서 로봇의 형태에 따른 이동 가능 영역을 다시 검출해

내고자 한다 즉 이동 경로에 따른 로봇의 형태가 결정되게

된다 연산 속도를 높이기 위해 320240 픽셀의 화면을

3224개의 영역으로 단순화시켰으며 기본적인 매칭 알고리즘을

이용하여 이동가능 영역 내에서만 비교하도록 하였다 로봇

형태는 낮은 지역 통과 작은 장애물 통과와 폭 좁은 지역

통과로 나누었으며 실제 로봇의 크기보다 20정도 여유를 두어

비교하였다 그림 531은 로봇의 이동 가능 영역 안에서의

3가지 로봇 형태가 매칭될 수 있음을 보여준다

그림 531 이동 가능한 영역 검출

Fig 531 Passable Area Detection

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 52: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

42

그림 532는 CAD를 이용하여 로봇이 환경에 따라 변할 수

있는 형태에 대해서 시뮬레이션 한 결과이다

(a) 평지 주행 (b) 일반 보행

(c) 높이 제한 주행 (d) 높이 제한 보행

(e) 폭 제한 주행 (f) 계단 및 경사 오르기

그림 532 형태 변형의 예

Fig 532 Example of form transformation

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 53: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

43

그림 532의 (a)는 바퀴로 주행할 때의 모습으로 중력에

대하여 각 관절의 모터에 가해지는 부하가 가장 적은 형태가

된다 그림 532의 (b)는 6족 보행을 위한 기본 형태이다 각

관절을 이용하여 움직이는 방식으로 다리의 폭이 넓어질수록

관절에 가해지는 부하가 커지지만 이동속도가 빨라지게 된다

그림 532의 (d)와 같이 낮은 자세에서 걷게 되면 몸체에

가까이 있는 2개의 모터에 무리한 부하가 걸리게 되므로

일반적인 상황에서는 부하가 고르게 분포되는 (b)와 같은

형태로 걷게 된다

그림 532의 (e)는 몸 안쪽으로 접을 수 있는 다리구조와

다리 끝에 바퀴를 가지고 있는 iTiBO와 같은 로봇에서만 가능한

형태의 이동 방법이다 바퀴의 폭이 바뀔 수 있는 장점이 있다

그림 532의 (f)는 상체의 수평상태를 유지한 상태에서의

경사면 및 계단을 오르는 모습이다 각 다리마다 5개의 관절을

가지고 있는 구조에서만 가능한 이동 방법이다 상체를 유지하게

되면서 영상처리 및 여러 센서의 보다 정확한 측정이 가능하게

되는 장점을 가진다

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 54: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

44

54 iTiBO 54 iTiBO 54 iTiBO 54 iTiBO 로봇의로봇의로봇의로봇의 동작동작동작동작 알고리즘알고리즘알고리즘알고리즘

그림 541은 iTiBO의 동작 알고리즘이다 전원이 인가되면

로봇은 주 제어기에서 구동 프로그램이 로딩되며 메시지 제어기

를 통해 34개의 모터 제어기와 센서시스템의 상태를 체크하게

되며 이상 발생 시 에러를 출력하고 시스템을 정지시킨다 모든

시스템이 정상이면 구동용 모터들을 동작시키고 로봇을 모터에

부하가 걸리지 않는 초기 자세로 바꾼 후 사용자 명령을 기다린

명령이 주어지면 로봇은 센서시스템을 통해 로봇의 진행방향

에 있는 환경을 인식하게 되고 3차원 시차지도를 생성한다 얻

어진 시차지도를 통해 2차원 공간좌표로 변환하여 이동 가능한

영역이 있는지 확인하며 없을 경우 로봇 회전이나 카메라 회전

을 통해 다른 방향의 환경을 인식한다 이동 가능한 영역이 검출

되면 여러 변형 형태와 부합되는 영역을 찾는 과정을 거치게 된

다 현재 로봇 모양과 비교하여 변형의 필요성을 판단하여 실행

한다

2차원 공간좌표에서 얻어진 이동 경로를 따라 로봇을 이동시

키게 되며 센서시스템으로 장애물과의 거리를 보정하며 주행하

게 된다 갑작스런 장애물이 생겨 센서 값에 큰 변화가 생기게

되면 계획된 경로에 다 도달하지 못하더라도 즉각적인 대처 행

동을 하게 되며 사용자의 명령을 다시 기다리거나 미리 프로그

램 된 명령을 수행하게 된다

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 55: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

45

그림 541 iTiBO의 동작 알고리즘

Fig 541 Action Algorithm of iTiBO

스테레오 영상처리에서 얻은 환경정보를 이용하여 로봇이 이

동 가능한 주행 경로 및 변형 형태를 퍼지 알고리즘을 통해 구

한 후 그 결과값을 메시지 전송 프로그램으로 보내게 되며 메

시지 전송 프로그램은 주행경로에 맞는 로봇 궤적을 생성하여

메시지 제어기로 궤적 데이터를 전송하게 된다 그림 542는

iTiBO의 궤적 전송 프로그램이다

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 56: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

46

그림 542 iTiBO의 궤적 전송 프로그램

Fig 542 Trajectory transmission program of iTiBO

궤적 전송 프로그램은 궤적 데이터 전송뿐만 아니라 각 모터

의 상태체크 및 테스트를 할 수 있도록 설계되었으며 로봇의 기

본 동작 및 궤적 데이터를 저장할 수 있는 기능뿐만 아니라 궤

적의 일정한 영역의 움직임을 반복적으로 테스트하는 기능도 가

지고 있다

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 57: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

47

6 6 6 6 실험실험실험실험 결과결과결과결과

본 논문에서는 지형에 따른 로봇의 형태변형과 동작여부를

알아보기 위해 시뮬레이터로 검증한 6가지의 이동 형태에 대해

각각의 기본자세와 궤적데이터를 생성하였고 이를 실험하였다

또한 스테레오 영상처리에서 얻은 환경 정보를 가지고 퍼지

알고리즘을 통해 변형 가능한 로봇의 폭을 조절하는 실험을

하였다

그림 611은 일반 보행을 위한 앞쪽 두 다리(왼쪽

오른쪽)의 궤적데이터의 예이다

-250

-200

-150

-100

-50

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

시 간 (초sec)

스텝

오른쪽_1 오른쪽_2 오른쪽_3 왼쪽_1 왼쪽_2 왼쪽_3

그림 611 일반 보행 궤적 데이터

Fig 611 General walk trajectory

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 58: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

48

그림 612는 1초 간격의 일반 보행을 나타내며 그림

613은 2초 간격의 높이제한 보행을 나타낸다 그림 614는

일반 주행과(위) 높이제한 주행의(아래) 05초 간격의 바퀴

구동으로 이동하는 모습이다 모든 그림의 로봇은 좌에서 우

방향으로 이동한다

그림 612 일반 보행 영상

Fig 511 General walk motion

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 59: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

49

그림 613 높이제한 보행 영상

Fig 613 Height limitation walk motion

그림 614 바퀴 주행 영상

Fig 614 Wheel driving motion

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 60: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

50

그림 615는 연속적인 다양한 형태로 변형하는 모습의

영상이다 바퀴를 Z축으로 회전시킬 수 있어 몸체가 회전하지

않아도 원하는 방향으로 갈 수 있다 로봇은 오른쪽에서

왼쪽으로 이동하는 모습이며 주행 동영상을 2초 간격으로

추출하였다

그림 615 다양한 이동 형태

Fig 615 Various motion form

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 61: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

51

그림 616은 폭이 좁은 길을 지나는 모습을 나타낸 영상이다

적색라인을 시작점으로 인식하여 동작한다 로봇은 다리를

안쪽으로 모을 수 있는 구조로 되어있고 다리 끝에 구동능력이

있는 바퀴가 있기 때문에 로봇의 자체 폭 보다 좁은 다리와

같은 지역을 지나갈 수 있다

그림 616 폭 좁은 길 통과 영상

Fig 616 Narrow road driving motion

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 62: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

52

그림 617은 높이 제한 지역을 통과하는 영상이다

영상정보부터 장애물을 인식하고 초음파 센서 적외선

센서로부터의 거리정보를 이용하여 로봇과의 높이 및 거리를

계산하여 몸체를 낮추어 통과할 수 있다 로봇은 기본 자세의

13의 높이까지 낮출 수 있도록 설계되었다

그림 617 높이 제한 지역 통과 영상

Fig 617 Height limitation area driving motion

그림 618은 스테레오 영상(좌)에서 얻은 정보로부터

장애물을 검출한 것이다 가우시안 필터를 적용시켜 영상 잡음을

제거해 불필요한 연산량을 줄일 수 있었으며 라벨링 작업을

통해 물체의 크기를 검출할 수 있었다

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 63: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

53

그림 618 검출 영역의 라벨링 작업 및 크기검출

Fig 424 Labeling process and scaling of detected

area

그림 619는 검출된 장애물의 2차원적 지도이다 각각의

장애물은 3차원 공간상에서의 위치 값을 스테레오 영상처리에

의해 얻을 수 있으며 각 장애물의 크기 및 장애물 사이의

공간을 계산하였다

그림 619 검출된 장애물의 2차원 지도

Fig 619 Two dimensions map of detected obstacle

로봇은 지도의 아래 중심에 위치하고 있으며 각 좌표는

로봇의 중심을 기준으로 하고 있다

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 64: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

54

7 7 7 7 결론결론결론결론 및및및및 향후향후향후향후 과제과제과제과제

본 연구에서는 복잡한 지형에 유연하게 적응할 수 있는 바퀴

달린 변형 가능한 6족 로봇을 제작하였다 그리고 스테레오 영

상 처리 장치를 이용하여 로봇 스스로 환경을 인식하여 안정적

인 이동 가능하도록 구현하였다

바퀴구동의 장점과 보행이동의 장점을 상황에 맞게 적절히 적

용하여 로봇의 이동성 향상을 실험을 통해 볼 수 있었으며 스테

레오 영상 시스템을 이용한 환경 인식으로 로봇의 변형과 이동

경로 생성 및 주행 방법 결정으로 독립적인 로봇의 운용을 구현

할 수 있었다

앞으로 연구할 과제는 라인 레이저를 이용한 지면 상태 인식

및 로봇의 회전성분을 알 수 있는 자이로 센서와 디지털 나침반

등의 추가적인 센서를 달아 로봇 상태를 안정적으로 유지시키는

것이다 그리고 스테레오 영상 처리 알고리즘의 다양화와 궤적

의 실시간 수정 기능 및 자세 제어 알고리즘을 추가하는 것이다

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 65: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

55

참고참고참고참고 문헌문헌문헌문헌

[1] Gen Endo ldquoStudy on Roller-Walkerrdquo International

Conference on Robotics amp Automation pp 2032~2037

1999

[2] Katsuhiko Tabata ldquoDevelopment of a Transformational

Mobile Robot to search Victims under Debris and Rubble -

2nd report Improvement of Mechanism and Interface-rdquo

International Workshop on Safety Security and Rescue

Robotics pp 19-24 2005

[3] Atsushi Kawakami ldquoSMC Rover Planetary Rover with

transformable wheelsrdquo SICE pp 157-162 2002

[4] Masaaki Shibata ldquoSolution for Stereo Correspondences

on Active Stereo Vision Robotrdquo pp 6652-670 2004

[5] M Zayed and J Boonaert ldquoObstacles detection from

disparity properties in a particular Stereo vision system

configurationrdquo IEEE pp 311-316 2003

[6] T Kanade A Yoshida K Oda H Kano and M Tanaka

ldquoA stereo machine for video-rate dense depth mapping and

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 66: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

56

its new applicationsrdquo Proc of IEEE CVPRrsquo96 pp 196-

202 1966

[7] J Black T Ellis ldquoMulti-camera image measurement

and correspondencerdquo Measurement vol 32 pp61-71

2002

[8] 고정환 김성일 김은수 ldquo스테레오 카메라 기반의 적응적인

공간좌표 검출 기법을 이용한 자율 이동로봇 시스템rdquo 한국통신

학회 논문지 vol 31 no 1C pp 26-35 2006

[9] 이정석 ldquo자율 이동로봇의 경로추정을 위한 적응적 공간좌

표 검출 기법rdquo 전기학회논문지 55P권 2호 pp103-109

2006 6

[10] Yanghai Tsin Sing Bing Kang and Richard Szeliski

ldquoStereo Matching with Linear Superposition of Layersrdquo

IEEE Computer Society vol28 No2 pp 290-301 2006 2

[11] J S Lee J H Ko E S Kim ldquoReal-time stereo

object tracking system by using block matching algorithm

and optical binary phase extraction joint transform

correlatorrdquo Optics Communication vol 191 pp191-202

2001

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 67: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

57

[12] R Hartely A Zisserman Multiple view geometry in

computer vision Cambridge University Press Cambridge

CB2 2RU UK 2000

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 68: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

58

부록부록부록부록 A iTiBO A iTiBO A iTiBO A iTiBO의의의의 역기구학역기구학역기구학역기구학 해석해석해석해석

A1 Coordinate SystemA1 Coordinate SystemA1 Coordinate SystemA1 Coordinate System

나머지 다리들은 동일한 좌표계를 가지기 때문에 한쪽 다리에

에 대해서만 해석하였다

A2 DH(DenavitA2 DH(DenavitA2 DH(DenavitA2 DH(Denavit----Hartenberg) ParameterHartenberg) ParameterHartenberg) ParameterHartenberg) 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

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 69: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

59

A3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse KinematicsA3 Inverse Kinematics

minus

minus

=

1000

0010

sincos0sin

cossin0cos

1111

1111

1

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

2222

2222

2

θθθθθθ

l

l

A

minus

=

1000

0100

sin0cossin

cos0sincos

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

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 70: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

60

(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

a

papa z

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 71: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

61

부록부록부록부록 B B B B 모션모션모션모션 제어기제어기제어기제어기 명령어명령어명령어명령어 테이블테이블테이블테이블

모션

어기

명령

어 테이

Motion C

ontr

oller C

om

mand T

able

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블
Page 72: 工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6

62

감사의감사의감사의감사의 글글글글

제 인생에서 8년간의 대학 생활은 정말 여러 가지 많은 일이 있었던 시간

이었습니다 우선 저의 꿈을 위해 달려갈 수 있어 좋았고 좋은 사람들을 만나

함께 즐거운 시간들을 보낼 수 있어 좋았습니다 대학 생활 중 힘들고 괴로운

시기도 있었지만 언제나 큰 힘이 되어주었던 가족이 있어 큰 탈 없이 마칠 수

있었습니다 하늘에 계시는 아버지께서 어머니와 누나와 그리고 저를 잘

보살펴 주신 결과라 생각합니다

지난 2년간의 대학원 생활 동안 제 주위에 많은 분들께서 도와주셔서

지금의 제가 있을 수 있었습니다 우선 많이 모자란 저를 믿고 열정적으로

지도해주신 김진걸 지도교수님 감사합니다 또한 동아리 활동에 많은 도움을

주신 허욱열 교수님 감사합니다 비록 먼 제천에 계시지만 여러 방면으로

도움을 주신 이보희 교수님 감사합니다 마지막으로 연구실 선배님처럼 편하게

많은 도움과 격려를 해 주신 이영삼 교수님 감사합니다

멋진 로봇 시뮬레이터로 저를 깜짝 놀라게 하는 경곤이형 무사히

졸업하는데 도움을 많이 준 정식이형 부지런하고 늘 열심히 하는 모습의

유경이형 대학원 생활에 대해 여러 조언을 해 준 병재형 맡은 일 묵묵히 잘

해내는 병훈이형 서로 견제했던 능력 있는 상민이 로보틱스 강의 들으면서

많은 도움을 준 남훈이형 굳건히 지능제어 연구실을 잘 이끌어 간 원기형

졸업시험 통과의 1등 공신인 창유형 이 모든 분들이 저의 대학원 생활을 의미

있게 해 준 사람들입니다

그리고 저의 대학생활의 대부분이었고 지금의 제가 있을 수 있도록 해 준

인하대학교 로보트연구회 선후배님과 동기인 18기 동옥 충훈 오혁 상민

만희 승범 호경 현주 아름 애희 뿐만 아니라 여러 로봇 대회에 같이

출전하면서 함께 고생했던 용석이형 우석이 성주 상민이 용우 의훈이

준협이 종민이 현이 그리고 같은 연구실에서 많은 도움을 준 우창이 이

모든 동아리 회원들이 있어 6년간의 대학생활이 너무 즐겁게 금방 지나가

버린 것 같습니다 모두에게 감사의 말을 전합니다

또한 만난 지 10년이 훌쩍 넘어버린 학익초등학교 동창들 인디텔 모임

꿈나무 과학동산 친구들 생일카페 친구들 모두에게도 감사 드립니다

마지막으로 저를 이렇게 뒷바라지 해주셨던 부모님과 말썽쟁이 동생을 잘

챙겨준 든든한 누나 그리고 사랑하는 영은이에게 감사 드립니다

2007200720072007년년년년 2 2 2 2월월월월

이이이이 상상상상 훈훈훈훈

  • 1 서론
    • 11 논문 배경 및 목적
    • 12 연구 내용 및 논문 구성
      • 2 iTiBO 로봇의 구조
        • 21 기구적 구조
        • 22 제어기 구성
          • 221 주 제어기
          • 222 메시지 제어기와 센서 제어기
            • 23 로봇 구동 시스템
              • 231 디지털 서보 모터
              • 232 모션 데이터 구조
                • 24 로봇의 기구학적 해석
                  • 3 iTiBO 센서 시스템
                    • 31 센서 시스템 구조
                    • 32 초음파 거리 센서
                    • 33 적외선 거리 센서
                      • 4 iTiBO 스테레오 영상 시스템
                        • 41 스테레오 영상 시스템 기구 설계
                        • 42 시점 보간 기술
                          • 421 시차 계산
                          • 422 2차원 공간좌표 검출
                          • 423 스테레오 영상 처리 프로그램
                              • 5 형태 변형 알고리즘
                                • 51 이동 가능 영역 검출
                                • 52 변형 알고리즘 - (퍼지 알고리즘)
                                • 53 변형 알고리즘 - (매칭 알고리즘)
                                • 54 iTiBO로봇의 동작 알고리즘
                                  • 6 실험 결과
                                  • 7 결론 및 향후 과제
                                  • 참고 문헌
                                  • 부록 A iTiBO의 역기구학 해석
                                  • 부록 B 모션 제어기 명령어 테이블