r-2007-2-059_인하대 이영삼_중기.hwp

160

Upload: vudat

Post on 04-Feb-2017

241 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: R-2007-2-059_인하대 이영삼_중기.hwp

R-2007-2-059

원자력 발전소에서의 안전검사를 위한 자율

지능형 로봇 개발

(최종보고서)

Development of the autonomous intelligent robot for

safety investigation at the nuclear power plant

인하대학교

2009. 2

지 식 경 제 부

Page 2: R-2007-2-059_인하대 이영삼_중기.hwp

- 1 -

제 출 문

지식경제부 장관 귀하

이 보고서를 “원자력 발전소에서의 안전검사를 위한 자율 지능형 로봇 개발(2007.

03.01~2009.02.28(24개월))”과제의 최종보고서로 제출합니다.

2009 . 02 . 28

주관기관명 : 인하대학교

수행책임자 : 이 영 삼

수행책임자 : 김 진 걸

연 구 원 : 김 태 신

연 구 원 : 양 지 혁

연 구 원 : 심 수 용

연 구 원 : 임 현

연 구 원 : 노 경 곤

연 구 원 : 김 기 태

연 구 원 : 김 기 우

연 구 원 : 유 영 국

연 구 원 : 이 윤 섭

Page 3: R-2007-2-059_인하대 이영삼_중기.hwp

- 2 -

요 약 문

Ⅰ. 제목

원자력 발전소에서의 안전검사를 위한 자율 지능형 로봇 개발

Ⅱ. 연구개발의 목적 및 필요성

본 연구는 원자력 발전소 내의 중저준위 방사성폐기물 저장시설을 점검할 수 있

는 자율 지능형 로봇의 개발을 목표로 한다. 개발된 로봇은 사람대신 많은 양의

저장된 방사성 폐기 드럼을 감시, 점검의 임무를 수행한다. 또한 개발된 로봇 소

프트웨어 시스템은 그 결과를 자동으로 처리하여 데이터베이스를 만들고 문서화

한다. 그 결과 개발된 로봇은 사람이 방사능에 노출되는 위험을 감소시키고 검사

의 효율성, 신뢰성, 균일성을 향상시킬 것이다.

Ⅲ. 연구개발의 내용 및 범위

• 로봇의 기구부 및 제어부 개발

• 로봇 시뮬레이터 개발

• 환경인식 시스템 개발

• 자율주행 시스템 개발

• 비주얼 서보잉 시스템 개발

• 카메라 위치제어 시스템 개발

• 호스트 소프트웨어 개발

Ⅳ. 연구개발결과

중저준위 방사성폐기물 저장시설에서 방사성폐기물 저장드럼의 점검이라는 임무

수행에 적합하도록 로봇이 설계되고 제작되었다. 임무수행에 필요한 핵심기술인

자율주행 시스템, 환경인식 시스템, 비주얼 서보잉 시스템, 카메라 위치제어 시스

Page 4: R-2007-2-059_인하대 이영삼_중기.hwp

- 3 -

템이 각각 개발되었다. 또한 MSRDS를 사용해서 실제 원자력 발전소 내의 중저

준위 방사성폐기물 저장시설과 같은 환경에서 모의 테스트가 가능한 로봇 시뮬레

이터를 개발하였다. 그리고 임무 수행의 결과를 체계적으로 관리하고 데이터베이

스화하는 호스트 소프트웨어를 개발해서 사용자의 편의성을 높였다. 마지막으로

중저준위 방사성폐기물 저장시설과 유사한 모의실험 환경에서 임무시나리오에 대

한 실험을 함으로써 로봇의 성능을 평가하였다.

Ⅴ. 연구개발결과의 활용계획

• 개발된 로봇의 현장 시험 적용 : 현재의 중저준위 폐기물 저장장소에는 fiducial

marker나 작업경로 라인이 설치되어 있지 않아 본 연구를 통해 개발된 로봇이

당장 적용될 수 있는 상황은 아니다. 향후 건설될 중저준위 폐기물 저장장소에

는 본 연구를 통해 가정한 환경을 도입함으로써 개발된 로봇의 현장 적용을 검

토해 볼 수 있다.

• 위치 인식 시스템의 서비스 로봇에의 적용 : 본 연구를 통해 개발된 위치 인식

시스템은 기존의 위치 인식 시스템과 구별되는 독창적이고 저가 구현이 가능한

위치인식 시스템이다. 개발된 위치 인식 시스템을 가정용 로봇, 건물 내의 안내

로봇 등의 위치 인식 시스템을 구축하기 위한 요소기술로 사용해 볼 수 있다.

• 시저리프트 기반의 데이터 취득 시스템을 이용한 재고 관리 로봇에의 응용 : 본

연구를 통해 개발한 시저리프트 기반의 가변길이 제어가 가능한 데이터 취득 시

스템을 활용하면 중저준위 폐기물 저장소와 같은 성격의 대량 재고 관리를 담당

하는 지능형 로봇에 적용이 가능하다.

Page 5: R-2007-2-059_인하대 이영삼_중기.hwp

- 4 -

SUMMARY

Ⅰ. Title

Development of the autonomous intelligent robot for safety investigation at the

nuclear power plant

Ⅱ. Target and necessity of the research

This project work aims at developing intelligent autonomous robot that can

perform a mission of inspecting storage facilities for middle-low level

radioactive wastes. The robot will replace human workers and will perform

missions of inspecting radioactive waste drums and acquiring data. We also

aim at developing a software that can construct a database and documentation

for the data acquired during the inspection. It is expected that the developed

robot will improve the efficiency, reliability, and consistency of the inspection

and will reduce the potential risk of human workers' exposure to radioactive

substance.

Ⅲ. The contents and range of the research

• Development of a mechanical and control part of robot

• Development of a robot simulator

• Development of a circumstance recognition system

• Development of an autonomous mobile system

• Development of an visual servoing system

• Development of a camera position control system

• Development of a host software

Page 6: R-2007-2-059_인하대 이영삼_중기.hwp

- 5 -

Ⅳ. Results of Research

We developed a prototype autonomous robot that can perform a mission of

inspecting storage facilities for middle-low level radioactive wastes. Through

the project work, we developed technologies essential for performing that

mission : autonomous navigation system, circumstance recognition system,

visual servoing system, and camera position control system. A simulator was

developed using MSRDS. The simulator can support the simulated control of a

robot and realtime monitoring that displays what's happening during the

inspection. We developed a database software that can manage the data

acquired during the inspection systematically and output well-made

documents. The developed robot has been tested in a simulated environment

that is similar to the real storage facilities and its feasibility has been

evaluated through the test.

Ⅴ. Applications of research results

• Field application of a developed robot : Currently, the field application of a

developed robot is not available for storage facilities of middle-low level

radioactive wastes. Those facilities do not have fiducial markers and guide

lines that are necessary for the application of the robot developed by this

project. However, those environment can be adopted by facilities to be built

in the future. It is expected that we can test our robot through the field test

in those storage facilities.

• Application of the localization techniques to service robots : The localization

method that was developed by this project is different from the conventional

localization methods. Our localization method can be implemented

economically because it uses a single camera. The localization method can be

applied to various type of service robots performing tasks inside buildings.

Page 7: R-2007-2-059_인하대 이영삼_중기.hwp

- 6 -

• The application of data acquisition system using scissor lift to inventory

check robots : The data acquisition system developed by this project has a

feature that it has a variable height due to a scissor lift. This structure can

be applied to robots that performs inventory check missions in storage

facilities.

Page 8: R-2007-2-059_인하대 이영삼_중기.hwp

- 7 -

CONTENTS

Chapter 1 Introduction to the Research ··························································19

1 The Goal and Necessity of the Research ··························································19

2 Research Contents and Scope ·················································································19

Chapter 2 Existing Research Survey ·······························································21

1 Domestic Research Survey ·······················································································21

2 International Research Survey ·················································································25

3 The Importance of the Research Results ·····························································29

Chapter 3 Research Contents and Results ·····················································30

1 Research Results and Methodology ·······································································30

1. Research Results ··················································································································30

2. Research Methodology ·······································································································31

2 Path Generation, Control, and Obstacle Avoidance ··········································34

1. Introduction ··························································································································34

2. Robot Path Generation ····································································································35

3. Robot Control ····················································································································39

4. Robot Localization ············································································································46

5. Obstacle Avoidance ··········································································································49

3 Visual Servoing ···········································································································53

1. Research Background ·········································································································53

2. Domestic and International Research Trends ······························································56

3. Problem Formulation ·········································································································58

4. Preprocessing ························································································································59

5. Hough Transform ···············································································································61

6. Line Tracking Control for a Mobile Robot ·································································63

7. Experimental Results ··········································································································66

8. Conclusions and Future Research Plan ········································································69

Page 9: R-2007-2-059_인하대 이영삼_중기.hwp

- 8 -

4 MSRDS-based Simulator ···························································································70

1. Introduction ··························································································································70

2. MSRDS ···································································································································71

3. MSRDS Service ····················································································································72

4. Simulation Example Using MSRDS ···············································································73

5. Implementation of MSRDS Content ···············································································74

6. MSRDS Simulation ·············································································································76

5 SLAM Using a Single Camera and Fiducial Markers ······································89

1. Introduction ··························································································································89

2. Related Works ·····················································································································90

3. Methodology ·························································································································94

4. Simulations ··························································································································109

5. Conclusions ·························································································································114

6 Drum Database Program ························································································115

1. Introduction ························································································································115

2. Database ······························································································································115

3. Functions of the Developed Software ·········································································117

7 Robot Design and Construction ···········································································123

1. Body Design ·······················································································································123

2. Wheel Module Design ·····································································································124

3. Wheel Cutting ····················································································································126

4. Suspension ··························································································································126

5. Mast Design ·······················································································································128

6. Overall Appearance and Specification of the Robot ···············································133

8 Experiment in the Simulated Environment ·······················································134

1. Simulated Environment ···································································································134

2. Mission Scenario and Mission Performing Experiment ··········································136

9 Conclusions ················································································································141

Chapter 4 Achievement and Contribution to the Related Area ············142

1 Achievement ···············································································································142

2 Contribution to the Related Area ········································································143

Page 10: R-2007-2-059_인하대 이영삼_중기.hwp

- 9 -

Chapter 5 Application Plan of Research Results ·······································145

1 Necessity for the Further Research ·····································································145

2 Application to the Other Area ·············································································146

3 Commercialization Plan ···························································································147

1. Commercialization Possibility of the Research Results ··········································147

2. Market Estimation ·············································································································147

3. Commercialization Promotion Plan ··············································································148

Chapter 6 Recent Scientific Information Gathered trough Project ······· 149

Chapter 7 References ···························································································157

Page 11: R-2007-2-059_인하대 이영삼_중기.hwp

- 10 -

목 차

제 1 장 연구개발과제의 개요 ·············································································19

제 1 절 연구의 목적과 필요성 ··················································································19

제 2 절 연구의 범위 ······································································································19

제 2 장 국내외 기술개발 현황 ···········································································21

제 1 절 국내 기술개발 현황 ························································································21

제 2 절 국외 기술개발 현황 ························································································25

제 3 절 연구결과의 중요성 ··························································································29

제 3 장 연구개발수행 내용 및 결과 ·······························································30

제 1 절 연구성과와 연구수행 방법 ············································································30

1. 연구성과 ···································································································································30

2. 연구수행 방법 ·························································································································31

제 2 절 경로 생성과 제어 및 장애물 회피 ····························································34

1. 개요 ···········································································································································34

2. 로봇의 경로 생성 ···················································································································35

3. 로봇의 제어 ·····························································································································39

4. 로봇의 위치추정 ·····················································································································46

5. 장애물 회피 ·····························································································································49

제 3 절 비주얼 서보잉 ··································································································53

1. 연구 배경 ·································································································································53

2. 국내 및 국외 연구 동향 ·······································································································56

3. 문제 설정 ·································································································································58

4. 전처리 과정 ·····························································································································59

5. 허프변환 ···································································································································61

6. 주행로봇의 라인 추적제어 ···································································································63

7. 실험결과 ···································································································································66

8. 결론 및 향후 발전 계획 ·······································································································69

Page 12: R-2007-2-059_인하대 이영삼_중기.hwp

- 11 -

제 4 절 MSRDS를 사용한 시뮬레이터 ····································································70

1. 개요 ···········································································································································70

2. MSRDS ·····································································································································71

3. MSRDS 서비스 ·······················································································································72

4. MSRDS를 사용한 시뮬레이션 사례 ···················································································73

5. MSRDS을 이용한 콘텐츠 구현 ···························································································74

6. MSRDS Simulation ···············································································································76

제 5 절 한 대의 카메라와 Fiducial 마커를 이용한 SLAM ··································89

1. 개요 ···········································································································································89

2. 관련연구 ···································································································································90

3. 방법 ···········································································································································94

4. 모의실험 ·································································································································109

5. 결론 ····································································································································· 114

제 6 절 드럼 데이터베이스 프로그램 ······································································115

1. 개요 ·········································································································································115

2. 데이터베이스 ·························································································································115

3. 소프트웨어의 기능 ···············································································································117

제 7 절 로봇 설계 및 제작 ························································································123

1. 몸체 설계 ·······························································································································123

2. 바퀴 모듈 설계 ·····················································································································124

3. 휠 가공 ···································································································································126

4. 서스펜션 ·································································································································126

5. 마스트 설계 ···························································································································128

6. 로봇의 전체 외형 및 사양 ·································································································133

제 8 절 모의환경을 이용한 실험 ··············································································134

1. 실험 환경 구성 ·····················································································································134

2. 임무 시나리오에 따른 부분별 임무수행 시험 ·······························································136

제 9 절 결론 ··················································································································141

제 4 장 목표달성도 및 관련분야에의 기여도 ··············································142

제 1 절 연구개발목표의 달성도 ················································································142

제 2 절 관련분야의 기여도 ························································································143

Page 13: R-2007-2-059_인하대 이영삼_중기.hwp

- 12 -

제 5 장 연구개발결과의 활용계획 ···································································145

제 1 절 추가연구의 필요성 ························································································145

제 2 절 타연구에의 응용 ····························································································146

제 3 절 기업화 추진방안 ····························································································147

1. 연구개발 사업성과의 사업화 가능성 ···············································································147

2. 시장규모 ·································································································································147

3. 사업화 추진 계획 ·················································································································148

제 6 장 연구개발과정에서 수집한 해외과학기술정보 ·······························149

제 7 장 참고문헌 ··································································································157

Page 14: R-2007-2-059_인하대 이영삼_중기.hwp

- 13 -

그림 목차

그림 2.1.1 KAEROT ···············································································································21

그림 2.1.2 KAEROT/M1 ·······································································································21

그림 2.1.3 KAEROT-m2 ·········································································································22

그림 2.1.4 KAEROT-m3 ·········································································································23

그림 2.1.5 가압용기 내부 충수시 감시 점검용 로봇 ······················································24

그림 2.1.6 급수배관 점검용 자벌레형 이동로봇 ······························································24

그림 2.2.1 SWAMI의 실물 모습 ··························································································25

그림 2.2.2 ARIES의 개념도 및 실물 모습 ·········································································26

그림 2.2.3 일본 원자력 발전소의 RESQ-A,B,C ································································27

그림 2.2.4 원자력 연구소의 RABOT ··················································································28

그림 3.1.1 로봇 임무 시나리오 ····························································································32

그림 3.1.2 개발된 로봇의 외형 ····························································································33

그림 3.2.1 로봇의 자율주행 기본 개략도 ··········································································35

그림 3.2.2 로봇의 모델 ··········································································································40

그림 3.2.3 로봇의 사용모드 ··································································································40

그림 3.2.4 로봇의 기본 제어 알고리즘 ··············································································42

그림 3.2.5 로봇의 이동 경로와 접선 방향각 ····································································43

그림 3.2.6 로봇이 이동할 수 있는 방향 ············································································44

그림 3.2.7 로봇의 경로생성 ··································································································45

그림 3.2.8 제어기에서 생성된 로봇의 출력 ····································································46

그림 3.2.9 제어기에서 생성된 로봇의 출력 ····································································46

그림 3.2.10 확장 칼만 필터의 기본 알고리즘 ··································································47

그림 3.2.11 경로회피 시뮬레이션 결과 ··············································································51

그림 3.2.12 경로회피 시뮬레이션 결과 ··············································································51

그림 3.2.13 시간에 따른 속도 변화 ····················································································52

그림 3.3.1 SRF를 이용한 주행테스트 ·················································································53

그림 3.3.2 SRF 실험 데이터 ·································································································54

Page 15: R-2007-2-059_인하대 이영삼_중기.hwp

- 14 -

그림 3.3.3 비주얼 서보잉 개념도 ························································································55

그림 3.3.4 Line Tracking Robot Schematic Diagram ·····················································56

그림 3.3.5 MIT 비주얼 서보잉 로봇 ‘Domo' ···································································56

그림 3.3.6 웹캠을 이용한 자율이동로봇 ············································································57

그림 3.3.7 프랑스 INRIA-IRISA에서 개발한 Cycab ························································58

그림 3.3.8 영상처리 된 이미지 ··························································································59

그림 3.3.9 Canny Edge 검출을 사용한 라인검출의 예 ··················································61

그림 3.3.10 허프 변환을 이용한 이미지 ············································································62

그림 3.3.11 허프 변환 과정 ··································································································62

그림 3.3.12 전처리를 거친 마커 검출 이미지 ··································································63

그림 3.3.13 크랩 모드 ············································································································64

그림 3.3.14 에크만 모드 ········································································································65

그림 3.3.15 3D 폐기물 저장 드럼과 PE 드럼 사양 ························································66

그림 3.3.16 3D CAD 비주얼 서보잉 배경 ········································································66

그림 3.3.17 Line Tracing User Interface ···········································································67

그림 3.3.18 전체 라인 배경 ··································································································68

그림 3.3.19 실제 실험 환경에서의 비주얼 서보잉 ··························································68

그림 3.4.1 Havok(좌측), PhysX(우측)으로 구성된 시뮬레이션의 모습 ·······················70

그림 3.4.2 MSRDS에서 제공하는 서비스 ··········································································72

그림 3.4.3 시뮬레이션에서의 Pioneer(좌측), 실제 Pioneer제품들(중, 우측) ·············· 73

그림 3.4.4 KIA 후원의 자동차시뮬레이션 대회(좌), Robochamps의 화성탐사 시뮬레

이션(우) ·················································································································74

그림 3.4.5 월성 중저준위 방사능 폐기물 저장차고 외부 모습 ····································74

그림 3.4.6 월성 중저준위 방사능 폐기물 저장창고 내부 모습 ····································75

그림 3.4.7 개발된 로봇 모델 ································································································76

그림 3.4.8 시뮬레이션에서의 중저준위 방사능 폐기물 저장창고 ································77

그림 3.4.9 시뮬레이션에서 사용된 드럼 ············································································78

그림 3.4.10 방폐장에 배치된 드럼의 모습 ········································································78

그림 3.4.11 카메라를 제외한 로봇의 3D 구현 모습 ·······················································79

그림 3.4.12 방폐장 건물에 적용된 물리엔진의 모습 ······················································79

Page 16: R-2007-2-059_인하대 이영삼_중기.hwp

- 15 -

그림 3.4.13 로봇에 적용된 물리엔진의 모습 ····································································80

그림 3.4.14 시뮬레이션 환경 ································································································81

그림 3.4.15 시뮬레이션의 좌표계 ························································································81

그림 3.4.16 Dsshost.exe의 콘솔창 ·······················································································82

그림 3.4.17 Sensorform ··········································································································83

그림 3.4.18 RobotInfo 창 ······································································································84

그림 3.4.19 Dashboard ···········································································································84

그림 3.4.20 Xbox의 유무선 컨트롤러 ·················································································85

그림 3.4.21 Dashboard 안에 있는 Laser Range Finder 박스 ······································86

그림 3.4.22 시저리프트 높이 변환 ······················································································87

그림 3.4.23 카메라의 회전 ····································································································88

그림 3.5.1 [20]의 MonoSLAM ······························································································90

그림 3.5.2 [27]의 Stargazer ···································································································91

그림 3.5.3 [28]의 U-Sat ··········································································································92

그림 3.5.4 (a)는 레이져 프린터 등을 이용하여 손쉽게 출력 할 수 있는 fiducial

marker의 형태. (b)는 [30]의 retro-reflector를 이용한 보이지 않는

marker. (c)는 IR light를 비춘 경우의 retro-reflective fiducial marker 94

그림 3.5.5 본 연구에서 사용하는 fiducial marker의 형태 ············································95

그림 3.5.6 Gaussinity 검증 실험 환경 ···············································································97

그림 3.5.7 Sensor에 대한 오차 히스토그램 ······································································97

그림 3.5.8 Fiducial marker 좌표계와 카메라 좌표계의 관계 ·····································100

그림 3.5.9 을 구하는 과정 ····························································································101

그림 3.5.10 Fiducial marker의 좌표계 ·············································································101

그림 3.5.11 본 연구에서 대상으로 하는 모바일 로봇((a):실제사진, (b):CAD모델) 104

그림 3.5.12 로봇의 좌표 개념도 ························································································105

그림 3.5.13 EKF의 동장 개념도 ·························································································105

그림 3.5.14 모의실험에서 사용하는 경로 ········································································108

그림 3.5.15 주행거리계 정보만 이용하여 추정한 결과 ················································111

그림 3.5.16 카메라를 센서모델에 포함시켜 SLAM을 수행한 결과 ···························111

그림 3.5.17 시야에 보이는 fiducial marker가 1개인 경우의 오차 ····························113

Page 17: R-2007-2-059_인하대 이영삼_중기.hwp

- 16 -

그림 3.5.18 한 프레임에 fiducial marker가 다수 관찰되는 환경에서의 경로 추정결

과 ························································································································113

그림 3.5.19 한 프레임에 fiducial marker가 2개 이상인 경우의 오차 그래프 ········ 114

그림 3.6.1 관리 소프트웨어의 역할 ··················································································115

그림 3.6.2 Microsoft Office Access 2007 ·········································································116

그림 3.6.3 데이터베이스의 테이블과 관계 ······································································117

그림 3.6.4 메인 화면 구성 ··································································································118

그림 3.6.5 드럼 조회 화면 구성 ························································································119

그림 3.6.6 드럼 추가 화면 ··································································································120

그림 3.6.7 드럼 삭제 화면 ··································································································120

그림 3.6.8 자동 업데이트 화면 ··························································································120

그림 3.6.9 담당자 설정 화면 ······························································································121

그림 3.6.10 구역 설정 화면 ································································································121

그림 3.6.11 보유드럼 리스트 보고서 화면 ······································································122

그림 3.7.1 제안된 로봇 ········································································································123

그림 3.7.2 로봇의 프레임 ····································································································124

그림 3.7.3 바퀴 모듈 자유도 ······························································································124

그림 3.7.4 사용된 포토센서와 캠 ······················································································125

그림 3.7.5 캠과 포토센서의 결합 위치 ············································································125

그림 3.7.6 휠 분해도 ············································································································126

그림 3.7.7 서스펜션 장착 위치 ··························································································127

그림 3.7.8 서스펜션 장착 형태 ··························································································127

그림 3.7.9 산업용 시저리프트 ····························································································128

그림 3.7.10 제안된 시저리프트 ··························································································129

그림 3.7.11 시저리프트 동력전달구조 ··············································································130

그림 3.7.12 마스트 도달 최대/최소 높이 [단위 : mm] ···············································131

그림 3.7.13 시저리프트 역기구학 [단위 : mm] ······························································131

그림 3.7.14 마스트 상단 카메라 회전 자유도 ································································132

그림 3.7.15 제작된 로봇의 외형(좌: 마스트 접힌 상태, 우: 펼친 상태) ···················133

그림 3.8.1 실제 저장소와 모의 실험장 ············································································134

Page 18: R-2007-2-059_인하대 이영삼_중기.hwp

- 17 -

그림 3.8.2 모의 실험장 사진 ······························································································135

그림 3.8.3 고유한 마커가 부착된 드럼 ············································································135

그림 3.8.4 로봇의 경로생성 ································································································137

그림 3.8.5 제어기에서 생성된 로봇의 출력 ··································································137

그림 3.8.6 제어기에서 생성된 로봇의 출력 ··································································138

그림 3.8.7 자율주행 시험결과 ····························································································138

그림 3.8.8 비주얼 서보잉 시험결과 ··················································································139

그림 3.8.9 드럼 인식 시험결과 ··························································································140

그림 3.8.10 카메라 위치 제어 시험결과 ··········································································140

그림 6.1 Microsoft Robotics Studio Developer Center ···············································150

그림 6.2 MSRDS의 3가지 버전 ·························································································151

그림 6.3 MSRDS 다운로드페이지 화면 ···········································································152

그림 6.4 MSRDS 설치파일 ·································································································152

그림 6.5 MSRDS InstallShield Wizard ············································································153

그림 6.6 MSRDS 설치된 경로 ···························································································153

그림 6.7 Evolution Robotic의 vSLAM 제품군 구조도 ·················································154

그림 6.8 ERSP의 vSLAM의 구동화면 ··············································································154

그림 6.9 iRobot의 Wayfarer 제품의 시연 사진 ·····························································155

표 목차

표 3.5.1 로봇의 기구적 제약조건에 대한 parameter ····················································110

표 3.6.1 소프트웨어를 위한 가상 데이터 ········································································116

표 3.6.2 메뉴 구성 ················································································································118

표 3.7.1 하체부 사양 ············································································································133

Page 19: R-2007-2-059_인하대 이영삼_중기.hwp

- 18 -

Page 20: R-2007-2-059_인하대 이영삼_중기.hwp

- 19 -

제 1 장 연구개발과제의 개요

제 1 절 연구의 목적과 필요성

94년의 기후변화 협약, 95년에 출범된 WTO 체제, 그리고 96년의 OECD 가입 등

으로 우리나라도 선진국과 대등한 관계에서 동일한 규제를 받으면서 무한 경쟁을

해야 하는 처지에 놓여 있다. 원자력 선진국에서는 원자력발전소내의 작업종사자를

방사선 노출로부터 보호하여 안정성을 향상 시키고, 각종 자동화 장치를 사용하여

신속한 작업을 수행함으로써 경제성을 높이려는 노력이 활발히 진행되어 왔다. 현

재 국내의 원자력 발전소내의 중저준위 방사성 폐기물 보관 장소의 검사는 사람이

직접 보관 장소에 들어가 수행하고 있는 실정이다. 이러한 방식의 검사는 사람이

방사능에 노출될 가능성을 포함하고 있으며 잠재적으로는 사람에게 큰 위험요소가

될 수 있다. 또한 사람이 검사를 수행하게 되므로 검사를 수행하는 사람의 전문성

여부에 따라 검사의 균일성, 신뢰성 등이 편차를 보이게 된다. 본 연구에서는 현재

수행되고 있는 폐기물 보관장소의 검사를 사람에게 의존하지 않고 자율지능 기능을

갖춘 로봇으로 하여금 수행하게 함으로써 검사의 효율성, 신뢰성, 균일성을 향상시

키고 사람이 방사능에 노출될 수 있는 위험을 제거하여 국제적 수준의 안정성 요구

조건을 만족시키는 검사 시스템의 개발을 목표로 한다.

제 2 절 연구의 범위

본 연구에서 개발된 자율 지능형 로봇은 위치 인식 기능, 자율 주행 기능, 카메라

위치 제어 기능, 비쥬얼 서보잉 기능 등을 갖추도록 하여 폐기물을 담고 있는 드럼

의 외관을 촬영하고 이를 데이터베이스화하여 차후에 오프라인으로 분석할 수 있도

록 하고 혹시 있을 수 있는 방사능 유출을 검출하여 이를 관리자에게 통보할 수 있

도록 하는 기능을 수행한다. 이를 위해 다음과 같은 연구 부분으로 나누어 연구가

진행되었다.

• 로봇의 기구부 및 제어부 개발

- 각 부위의 구동회로 개발

- 4륜식 로봇 개발

- 원격 조종기 개발

Page 21: R-2007-2-059_인하대 이영삼_중기.hwp

- 20 -

• 로봇 시뮬레이터 개발

- MSRDS를 이용한 윈도우용 시뮬레이터 개발

- 실제 환경의 모의 테스트가 가능하도록 개발

- 실제 작업 상황의 모니터링이 가능하도록 개발

• 환경인식 시스템 개발

- 비전 시스템 개발

- 마커를 기반으로 한 폐기물 저장 드럼의 드럼별 구분 알고리즘 개발

- 한 대의 카메라를 이용한 위치확인(localization) 시스템 개발

- 방사능 센서 및 환경 정보의 인터페이스 환경 개발

• 자율주행 시스템 개발

- 로봇의 위치 및 속도 제어 시스템 개발

- 목적 위치로의 경로생성

- 통합제어 시스템 개발

• 비주얼 서보잉 시스템 개발

- 비쥬얼서보잉을 이용한 작업경로 추적 시스템 개발

• 카메라 위치제어 시스템 개발

- 시저리프트 방식의 높이 조절이 가능한 마스트 개발

- Ball screw 기반의 위치제어 시스템 개발

- 폐기물 저장 드럼의 촬영을 위해 마스트 제어를 통해 원하는 곳에 위치시킬 수

있는 제어알고리즘 개발

• 호스트 소프트웨어 개발

- 모니터링 프로그램 개발

- 임무(task) 지정/변경 프로그램 개발

- 검사내용의 데이터베이스 프로그램 개발

Page 22: R-2007-2-059_인하대 이영삼_중기.hwp

- 21 -

제 2 장 국내외 기술개발 현황

제 1 절 국내 기술개발 현황

국내에는 한국원자력연구소의 원자력 로봇 Lab과 핵연료주기 원격장치 Lab 등을

중심으로 원자력발전소 및 방사성 물질을 취급하는 핫셀(hot cell)을 대상으로 로봇

연구가 활발히 추진되고 있는 반면 방사성폐기물 저장장소의 검열을 주요 목표로

하는 로봇의 개발은 이루어진 적이 없다. 기존에 국내에서 이루어진 연구들은 대부

분 방사성 고준위 지역에서의 작업을 요하는 영역을 목표로 하고 있었다. 상대적으

로 중저준위 방사성 폐기물 저장장소는 고준위 지역보다는 안전하다고 알려져 있어

현재까지는 사람이 직접 관리하고 있는 실정이지만, 근본적으로 안전을 담보할 수

있다고 말할 수 없다. 또한 폐기물 저장장소의 검열 및 관리가 대부분 반복적인 작

업을 많이 포함라고 있어 사람보다는 로봇에게 더욱 적합한 영역이므로 관련 분야

의 연구가 이루어질 경우 저장장소의 효율적 관리가 가능할 것으로 판단된다. 아래

에 열거된 연구 사례는 지금까지 국내에서 이루어진 원자력 발전소 내에서 사용되

는 것을 목표로 하는 로봇과 관련된 연구들이다.

그림 2.1.1 KAEROT 그림 2.1.2 KAEROT/M1

■ KAEROT (1988년~1992년)

3륜식 유성차륜을 이용한 구동으로 계단 주행이 가능하며 5축식 수직 다관절형

로봇팔에 검사 장비와 카메라를 장착하고 있다. 유선통신을 이용하여 사용자의 명

령을 수행한다. 154KV Yard 고압선 이상상태를 점검하고 격납건물의 방사선 준위

탐사 작업 배관 내부 점검 작업을 수행한다. 아래의 그림 2.1.1은 KAEROT의 모습

이다.

Page 23: R-2007-2-059_인하대 이영삼_중기.hwp

- 22 -

■ KAEROT/M1(1992년~1996년)

4륜식 유성차륜을 이용한 구동방식을 채택하여 계단의 이동과 전후좌우 자유로운

움직임이 구동의 특징인 이 로봇은 6축 수직 다관절형 로봇팔에 점검용 카메라를

장착하고 무선통신으로 사용자의 명령을 수행하는 로봇이다. 이 로봇은 원자력 발

전소 1착계통 주요시설의 점검 및 보수 작업과 냉각재 펌프 내부검사 작업을 수행

한다. 아래의 그림 2.1.2는 KAEROT/M1의 모습이다.

■ KAEROT/M2(1998년~2001)

그림 2.1.3 KAEROT-m2

KAEROT-m2는 KAEROT/m1의 문제점을 보완하였다. 전 방향기능과 계단승월

기능이 가능한 ‘전 방향 유성차륜’이라는 메커니즘이 4륜 구조로 부착되어 주행 성

능을 크게 향상 시켰다. 또한 KAEROT/m1에는 점검 및 보수작업을 위하여 6자유

도의 조작기와 팬/틸트 구동이 가능한 입체 카메라가 부착되어 있다. 6자유도 조작

기는 자중/취급하중비를 5:1 이하로 설계하기 위하여 스파이럴 베벨기어를 사용하여

1개의 조인트가 2자유도를 갖는 조인트 구조로 설계하였다.

감시점검용 이동 로봇은 원자력발전소에서 작업자의 접근이 어려운 고방사선 구

역뿐만 아니라 상시 감시가 요구되는 곳에서도 작업자를 대신하여 주어진 임무를

수행할 수 있도록 개발하고 있다.

주된 임무는 중수로 원전의 열 수송계통의 이상 상태 진단 및 점검을 위한 무인

이동 로봇시스템으로서, 정상 가동 중인 원전의 칼란드리아 전면부에서 압력관 검

사, 시료 채취, 배관 누수 및 부식 검사를 한다. 개발된 로봇은 길이 75cm, 깊이

Page 24: R-2007-2-059_인하대 이영삼_중기.hwp

- 23 -

25cm의 요철부분을 통과하기 위하여 형상가변형 무한궤도 이동 방식으로 제작되어

있으며, 이동부에 탑재된 산축판은 원전의 380개의 칼란드리아 압력관 (calandria

pressure tube)을 점검할 수 있도록 길이 최대 8m까지 확장이 가능하다. 이동형 감

시점검 로봇은 방사능으로 오염된 지역이나, 오염 가능성이 있는 지역에 투입하여

구역 방사선원을 측정 및 분석하여 방사능 오염 예상지역의 방사선원 분포도를 작

성하여 효과적인 체염 작업을 할 수 있게 한다.

■ KAEROT-m3 (2006~)

그림 2.1.4 KAEROT-m3

KAEROT-m3는 핵연료교환기가 고장 났을때 이를 수리할 수 있다. 월성 원전은

농축하지 않은 천연 우라늄을 사용하기 때문에 자주 핵연료를 교체해줘야 하는데

KAEROT-m3은 핵연료교환기가 원전의 연료인 우라늄 교체를 마치고 복귀하지 못

한 채 연료통에 붙어 있을 때 이를 분리하는 작업을 수행한다. 때문에 원자로의 가

동 중단 없이 수리를 하는 것이 가능하다. 핵연료교환기는 최대 9.5m 높이에 있으

며 로봇이 그곳까지 이동한 다음 접이식 사다리처럼 생긴 팔을 10m 높이까지 펼쳐

작업을 진행한다. 또한 내장 컴퓨터는 방사선이 강한 지역에서도 견디도록 설계되

었다.

Page 25: R-2007-2-059_인하대 이영삼_중기.hwp

- 24 -

■ 가압용기 내부 충수 시 감시 점검용 로봇

수중탐사가 가능한 구조에 4개의 수중 추진 장치를 가진 이 로봇은 전후좌우 상

하 평행이동 등 수중에서 자유로운 탐사작업을 할 수 있도록 설계된 로봇이다. 유

선통신으로 사용자의 명령과 현장의 정보는 유선통신을 이용해 송수신한다. 이 로

봇은 원자로 및 상수탱크, 가압기 전열관 등의 수중점검을 수행하고 해저 케이블

공사나 해난 사고 시 탐사 작업을 수행한다. 아래의 그림 2.1.5는 가압용기 내부 충

수 시 감시 점검용 로봇의 모습이다.

■ 급수배관 점검용 자벌레형 이동로봇(2003년~2004년)

전후방에 2자유도를 가진 그리퍼와 확장과 회전이 가능한 구조를 가지고 파이프

에 매달려서 자벌레처럼 이동할 수 있는 구조의 이 로봇은 3개의 초음파 센서와 곡

관 자동 추적 기능을 가지고 있다. 이 로봇은 자벌레처럼 파이프에 매달려서 이동

하며 중수로 원전 압력관의 급수 배관의 비파괴 검사를 수행하는 로봇이다. 아래의

그림 2.1.6은 급수배관 점검용 자벌레형 이동로봇의 모습이다.

그림 2.1.5 가압용기 내부 충수시 감시

점검용 로봇

그림 2.1.6 급수배관 점검용 자벌레형

이동로봇

이 외에도 증기발생기 검사/보수 로봇, 원자로 자동탐상 로봇, 경수로 원자로/냉

각재 배관 검사용 수중 로봇, 중수로 핵연료 교환기 비상구동 로봇, 사용 후 핵연료

근접 검사용 로봇, 핫셀 분야에 사용되는 전기식 마스터-슬레이브 서보 매니퓰레이

터를 개발하여 사용하고 있다.

Page 26: R-2007-2-059_인하대 이영삼_중기.hwp

- 25 -

제 2 절 국외 기술개발 현황

중저준위 방사성 폐기물 저장장소의 무인 검열과 관련된 로봇의 연구는 해외에서

이미 이루어진 사례가 있다. SWAMI와 ARIES는 그와 관련된 대표적인 로봇들이

다. 그 외에도 해외에는 원자력 발전소에서 사람의 대신하여 오염물질 및 방사선량

을 측정하고 비상 상황시 사람에게 자동으로 통보해주는 로봇시스템이 많이 개발

되었다.

■ SWAMI

그림 2.2.1 : SWAMI의 실물 모습

미국의 Westinghouse Savanah River Company와 South Carolina University에서

만든 이 로봇은 폐기물 처리장에서 중저준위 폐기물 드럼의 상태를 조사하여 시설

내의 안전을 목적으로 로봇이다. SWAMI는 6개의 바코드 리더, 6개의 비디오 카메

라, 방사능 감지기, 레이저 센서를 장착하고 있으며 운영자로부터 이더넷을 통해 명

령을 받아 지도(Map)의 경로를 따라 주행하며 임무를 수행한다. 주행 도중 키드냄

핑(kidnapping)이 발생하면 시설 내의 파렛트에 부착된 반사 테이프를 이용하여 위

치결정(Position determination)을 할 수 있고 방사능 감지기로부터 위험을 인지했을

때 무선통신을 통하여 호스트컴퓨터(Host Computer)에 경보를 줄 수 있다. 하지만

로봇 자체적으로 드럼을 감지하는 능력이 없어 시설 내 변경사항에 대해 자율적으

Page 27: R-2007-2-059_인하대 이영삼_중기.hwp

- 26 -

로 대처하지 못하고 지도상에 드럼의 위치를 갱신해 줘야 한다. 또한 비디오 카메

라로부터 획득한 이미지 분석을 로봇의 전력소비 문제로 인해 호스트컴퓨터에서 처

리하는 방식으로 되어 있어서 긴급한 문제가 발생했을 때 빠른 대처가 어렵다는 단

점이 있다[1-3].

■ ARIES

그림 2.2.2 ARIES의 개념도 및 실물 모습

미국의 Swearingen Engineering center, South Carolina University가 개발한 이

로봇은 폐기물 처리장 내의 폐기물 드럼에 대한 조사를 목적으로 만들어 졌으며,

기본적인 장비인 바코드 리더, 비디오 카메라, 방사능 검출기 외에도 초음파 센서를

이용하여 장애물 회피, 항법 시스템, 자동 충전 시스템이 구현되어 있다. 특히, 항법

시스템의 경우 sonar system과 lidar system(light + radar)을 navigation system을

위해 추가적으로 사용함으로써 더 넓고 복잡한 시설에서 로봇의 주행에 대한 신뢰

성을 향상시켰다. 비전 시스템의 강화에 초점을 맞추어 기존의 로봇들이 onboard의

데이터베이스에 나타나 있지 않은 드럼에 대해서 조사임무 수행이 불가능 했던 것

에 반해 이 로봇은 Camera Positioning System(CPS)을 사용하여 드럼의 위치를 잡

기 위해 자율적으로 카메라 위치를 제어할 수 있다. 또한, 비전 시스템은 수집된 드

럼 이미지의 위험도를 분석하여 운영자에게 보고 할 수 있도록 한다[4].

Page 28: R-2007-2-059_인하대 이영삼_중기.hwp

- 27 -

■ RESQ(Remote Surveillance Squad)

그림 2.2.3 일본 원자력 발전소의 RESQ-A,B,C

원자력 시설에서 사고가 발생하면 JCO 임계 사고처럼 방사선량이 높기 때문에

사람이 사고 현장에 접근하는 것이 곤란한 경우가 많다. 이 때문에 사람을 대신해

사고 현장에 접근하여 사고의 원인을 규명하고 그 수습 복구에 필요한 정보를 수집

해 안전한 장소에 대기하는 사람에게 송신하는 로봇이 필요하다. 이러한 사고 대응

에는 다양한 역할을 분담하는 복수의 로봇이 필요하기 때문에 일본 원자력 발전소

에서는 현재의 기술로 실용 가능한 기능을 집약한 3종류의 로봇을 아래와 같이 개

발했다.

▪ 초기정보 수집 로봇(RESQ-A):

사고 직후에 현장의 상황을 신속하게 파악하기 위한 소형 경량의 원격 自走式 보

봇. 현장의 방사선량, 영상·음성, 기기류의 온도를 수집한다.

▪ 상세정보 수집 로봇(RESQ-B):

문을 개폐하고 계단을 오르내리는 등 사고 발생 장소에 접근해서 방사선량, 영상·

음성, 기기류의 온도, 실내의 분위기, 장해물의 위치 등 보다 광범위한 정보를 수집

하는 원격 자주식 로봇. 매니퓰레이터 1대를 장착하고 있다.

Page 29: R-2007-2-059_인하대 이영삼_중기.hwp

- 28 -

▪ 시료 등 정보 수집 로봇(RESQ-C):

오염정보의 수집과 시료채취에 필요한 간단한 작업(판의 개폐, 연삭, 절단, 구멍

뚫기 등)을 하는 원격 자주식 로봇. 매니퓰레이터 2대를 장착하고 있다.

각 로봇의 조작은 조작 판넬을 갖춘 전용 컨테이너에서 행해지고 얻어진 정보는

컴퓨터에 집중 관리된다. 또한, RESQ-A는 기동성을 중시하여 소형 경량의 조작 판

넬을 별도 갖고 있어 사고 직후에 소형 승용차로 현장에 급파할 수 있다.

■ RABOT(Radiation-proof Robot 2002년)

그림 2.2.4 일본 원자력 연구소의 RABOT

일본 원자력 연구소(JAERI)에서 개발한 그림 2.2.4의 RABOT은 방사선 내구성을

가진 로봇으로 캐터필러 구동방식을 가지고 있으며 무게중심 이동이 가능해서 계단

을 보다 쉽고 안정적으로 주행할 수 있다. 각종 센서와 카메라 마이크 등을 장착하

여 무선으로 원격의 사용자에게 현장의 화면과 음성 및 각종 자료를 전달한다.

RABOT의 정교한 로봇 팔은 밸브의 조작이나 문의 개폐, 샘플수집, 열쇠 잠그기

등을 가능하게 한다. RABOT는 원자력 발전소 사고 시 사고 대처를 주목적으로 하

는 로봇이다.

Page 30: R-2007-2-059_인하대 이영삼_중기.hwp

- 29 -

제 3 절 연구결과의 중요성

지금 현재 한국에서 가동 중인 원자력 발전소 내에는 중저준위 방사성폐기물을

보관하기 위한 저장 시설을 운용중이다. 저장시설내의 폐기물 드럼의 관리는 현재

사람이 직접 저장장소에 들어가 수작업에 의해 진행되고 있다. 이러한 방식의 관리

는 작업자가 방사능에 노출될 가능성을 항상 내포하고 있어 잠재적으로 큰 위험요

소가 될 수 있다. 관리 업무의 주요 대상이 되는 드럼의 검열/감시 작업은 드럼의

손상여부나 기울어진 여부 등을 살피는 반복적인 작업이다. 이러한 잠재적 위험 요

소와 반복적 작업 특징을 가지고 있는 폐기물 드럼의 검열/감시 작업은 로봇의 적

용이 적합한 분야이다.

기존에 국내외 원전 시설 내에서 운용되고 있는 로봇은 주로 원격조정에 의해 제

어되고 있는 방식인데 원격조정 방식을 통한 폐기물 드럼의 검열/감시는 크게 2가

지 점에서 문제를 가지고 있다. 첫째 드럼과 드럼 사이의 통로가 협소하여 작업자

가 영상정보를 바탕으로 로봇을 드럼과 충돌하지 않도록 원격 조정하는 것은 어렵

다는 문제를 가지고 있다. 둘째 드럼이 3층 이상의 높이로 쌓여 있어 무선 방식을

통해 항상 신뢰할 만한 통신을 보장할 수 없다는 문제를 가지고 있다. 이러한 2가

지 문제점을 고려할 때 폐기물 드럼의 검열/감시는 원격조정 방식보다는 자율주행

과 장애물 회피 등을 수행할 수 있는 자율지능 기반의 방식의 로봇이 적합하다. 그

러므로 본 연구에서 개발된 자율 지능기반의 로봇을 구현하기 위해 필요한 기술인

위치인식 기술, 자율 주행 기술, 장애물 회피 기술과 높이 쌓여 있는 드럼의 촬영을

위해 마스트 설계 및 제어 기술, 카메라 위치 제어 기술 및 촬영 데이터의 자료 구

축 기술은 위의 2가지 문제를 해결할 수 있는 핵심 기술이다.

Page 31: R-2007-2-059_인하대 이영삼_중기.hwp

- 30 -

제 3 장 연구개발수행 내용 및 결과

제 1 절 연구성과와 연구수행 방법

1. 연구성과

가. 논문게재 성과

게재연도 논문명저 자 학술

지명

Vol.

(No.)

국내

구분

SCI

구분주저자 교신저자 공동저자

2008

A new model of

magnetic force in

magnetic levitation

systems

이영삼 이영삼양지혁

심수용

Journal of

Electrical

Engineering and

Technology

3

(4)국제

2009

Indoor single

camera SLAM

using fiducial

markes

임현 이영삼양지혁

김진걸

제어로봇

시스템학회

논문지

15

(4)국내

나. 특허 성과

구분 연도 특허명 등록(출원)인 등록(출원)국 등록(출원)번호

등록

출원

Page 32: R-2007-2-059_인하대 이영삼_중기.hwp

- 31 -

다. 국내․외 교육훈련 및 국외출장

(1) 국내․외 교육훈련 성과

구 분 국가 기관명 기간 참가자 교육내용

국내

국외

(2) 국외출장 성과

국가 기관명 기간 출장자 출장업무내용홍콩 ICEE 2007.7.8~12 김기우, 김진걸 학회 참석일본 ICEE 2008.7.6~10 김기우, 김진걸 학회 참석

라. 학술회의 참석 및 개최 성과

명칭 기술분야규모

개최장소참가국 인원 기간(일)

ICEE2007전기전자

제어3 1000 2007.7.8~12 홍콩

ICEE2008전기전자

제어3 1000 2008.7.6~10

일본

오키나와2007년

대한전기학회

하계학술대회

전기전자

제어1 1000 2007.10.26~27 강원평창

2007 정보 및

제어학술대회

제어, 정보,

로봇1 500 2007.10.26-27 충북제천

2008년

대한전기학회

하계학술대회

전기전자

제어1 1000 2008.7.16~18 강원횡성

2008 정보 및

제어학술대회

제어, 정보,

로봇1 500 2008.10.31~11.1 강원횡성

2. 연구수행 방법

1차년도 에서는 신뢰성 있고 안정적으로 구동, 이동, 원격조정이 가능한 프로토타

입 로봇을 설계하고 제작하였다. 1차년도 에서 수행된 내용과 결과는 1차년도 중간

보고서에서 보고되었으므로 그 자세한 내용은 생략하겠다.

Page 33: R-2007-2-059_인하대 이영삼_중기.hwp

- 32 -

지정된 로봇 충전 위치

자율주행으로 작업라인시작 위치로 이동 이동

비주얼서보잉으로 작업 라인을 따라 점검 대상 드럼 사이를 주행

영상처리를 통한 드럼의 인식

카메라 위치 제어를 통한 드럼의영상 획득 및 기타 환경정보 취득

자율주행으로 지정된 초기위치로 복귀

조사된 내용의 Host로의 전송

지정된 로봇 충전 위치

자율주행으로 작업라인시작 위치로 이동 이동

비주얼서보잉으로 작업 라인을 따라 점검 대상 드럼 사이를 주행

영상처리를 통한 드럼의 인식

카메라 위치 제어를 통한 드럼의영상 획득 및 기타 환경정보 취득

자율주행으로 지정된 초기위치로 복귀

조사된 내용의 Host로의 전송

그림 3.1.1 로봇 임무 시나리오

2차년도에서는 원자력 발전소에서의 안전검사를 위한 자율 지능형 로봇 개발의

명확한 문제설정과 개발기술의 목표설정을 위해 2008년 4월 11일에 대전에 위치한

한국전력공사 산하의 전력연구원의 전략기술연구소 에너지기계그룹을 방문해서 현

재 원자력 발전소에서 사용 중인 로봇에 대한 세미나와 본 연구에서 개발 중인 로

봇에 대한 업무적, 기술적 자문을 하였다. 또한 2008년 8월 21일에 월성 원자력본부

의 원자력발전소 내부와 중저준위 방사성폐기물 저장소를 견학하면서 실제 환경을

검토하고 안전검사를 위한 자율 지능형 로봇이 필요한 부분에 대해 전문가의 의견

을 수렴했다. 이를 통해 로봇의 임무수행에 대한 문제설정을 하였고, 현재 학교 내

에서 개발이 가능한 기술의 목표 수준을 결정했다. 이런 과정을 통해 원자력 발전

소 내의 중저준위 방사성폐기물 저장시설에서 사람대신 점검을 수행할 수 있는 자

율지능형 로봇에 관한 연구가 본 과제의 연구목표로 타당하다는 결론을 내리게 되

었다. 그리고 중저준위 방사성폐기물 저장시설에서의 로봇 임무 시나리오를 그림

3.1.1과 같이 구체적으로 정하였고 이렇게 정해진 로봇의 임무를 수행하기 위한 기

술을 개발하는 것을 본 과제를 통해 진행하였다.

2차년도에서는 중저준위 방사성폐기물 그림 3.1.1과 같은 임무를 수행하기 위해 1

차년도에서 개발된 프로토타입 로봇에 특별히 카메라 위치제어시스템을 위해 높이

와 위치조절이 가능한 마스트를 추가적으로 개발하고자 하였다. 이렇게 해서 최종

Page 34: R-2007-2-059_인하대 이영삼_중기.hwp

- 33 -

적으로 개발된 로봇의 외형은 그림 3.1.2에서 보여준다. MSRDS를 사용해서 실제

원자력 발전소 내의 중저준위 방사성폐기물 저장시설과 같은 환경에서 모의 테스트

가 가능한 로봇 시뮬레이터를 개발하고자 하였다. 원자력 발전소 내의 중저준위 방

사성폐기물 저장시설을 자율적으로 점검하는 데에 필요한 핵심 요소 기술인 자율주

행 시스템, 환경인식 시스템, 카메라 위치제어 시스템 개발을 개발하고자 하였다.

여기서 자율주행 시스템의 연구범위는 로봇이 자율적으로 이동할 때 필요한 로봇의

경로를 생성하고 로봇이 장애물을 회피하며 원하는 위치와 속도로 로봇을 제어하는

것으로 하였다. 환경인식 시스템의 연구범위는 하나의 카메라와 마커를 기반으로

로봇의 정확한 위치정보를 알아내기 위한 것으로 하였다. 카메라 위치제어시스템의

연구범위는 방사성폐기물을 점검하기위해 마스트를 이용해 카메라를 원하는 위치에

놓는 시스템을 구현하는 것으로 하였다. 또한 원자력 발전소 내의 중저준위 방사성

폐기물 저장시설을 자율적으로 점검하는 특수한 임무를 수행하기 위한 특화된 시스

템인 비주얼 서보잉 시스템을 개발하고자 하였다. 임무 수행의 결과를 모니터링하

고 체계적으로 관리하고 데이터베이스화하는 호스트 소프트웨어를 개발해서 사용자

의 편의성을 높이고자 하였다. 마지막으로 개발된 프로토타입 로봇을 중저준위 방

사성폐기물 저장시설과 유사한 환경을 구성하여 임무수행에 대한 모의시험을 함으

로써 연구결과 성과를 검증하고자 하였다. 이에 대한 연구결과를 다음 절에서부터

서술하겠다.

그림 3.1.2 개발된 로봇의 외형

Page 35: R-2007-2-059_인하대 이영삼_중기.hwp

- 34 -

제 2 절 경로 생성과 제어 및 장애물 회피

1. 개요

일반적으로 로봇에서 말하는 기본적인 자율 주행이란 조종자의 특별한 조정 없이

로봇이 자율적으로 원하는 목표위치까지 이동하는 것을 말한다. 이러한 자율주행을

구현하기 위한 전체적인 개략도는 그림 3.2.1과 같다. 로봇의 경로 생성을 위해서는

Simple Polar Polynomial Method와 같은 방법을 사용해서 로봇의 기구학적 제약

조건 고려된 이동 로봇의 궤적을 생성해야만 한다. 기본적으로 이동 로봇의 궤적이

생성되면 이 궤적을 따라 움직일 수 있도록 로봇을 제어해야 한다. 이 때 보다 정

밀한 제어를 위해 로봇의 정확한 모델과 정확한 위치정보가 필요하다. 또한 로봇의

자율주행을 위해서는 Delaunay Triangulation/Potential Field Method와 같은 장애

물 회피 알고리즘이 필수적으로 포함되어야 한다. 이 때 카메라와 레이저 스캐너

같은 센서들을 이용하여 장애물에 대한 정보를 알아내야한다. 로봇의 위치정보는

인코더와 로봇의 모델을 사용한 필터와 비전센서를 사용한 Simultaneous

Localization and Mapping(SLAM)에 의해서 알아낼 수 있다. 본 절에서는 위와 같

은 내용에 대해 로봇의 경로 생성, 로봇의 제어, 인코더와 모델 정보를 이용한 로봇

의 위치추정, 장애물 회피의 순으로 단계적으로 서술하고자 한다.

Page 36: R-2007-2-059_인하대 이영삼_중기.hwp

- 35 -

Local coordinates

Object/Line detectionCamera

Obstacle detectionLaser scanner

Target position generation

Delaunay Triangulation/Potential F ield Method

Path generation

Vehicle control

Position estimation Using encoder & model

Global coordinates

Coordinates transformation

SLAM

Simple Polar Polynomial Method

Final Target Position

Local coordinates

Object/Line detectionCamera

Obstacle detectionLaser scanner

Target position generation

Delaunay Triangulation/Potential F ield Method

Path generation

Vehicle control

Position estimation Using encoder & model

Global coordinates

Coordinates transformation

SLAM

Simple Polar Polynomial Method

Final Target Position

그림 3.2.1 로봇의 자율주행 기본 개략도

2. 로봇의 경로 생성

이동 경로는 직선과 곡선으로 이루어진다. 이런 직선과 곡선 간의 연결은 곡률반

경의 불연속성을 초래하고 이 불연속성은 로봇의 조향능력을 벗어나게 하므로 로봇

의 이동을 매끄럽지 못하게 한다. 그러므로 이동 경로를 위한 연속적인 곡률 반경

을 보장하는 매끄러운 경로를 생성 방법이 필요하다.

□ 기본 용어 정리

• 자세(posture): 이동로봇의 경로 계획은 대개 2차 평면상에서 이루어지는데 로봇

의 위치와 기울기를 합쳐서 자세 라 정의한다. 위치 는 로봇 몸체

중심의 기준 좌표(절대 좌표계) 상의 좌표 값이고, 기울기 는 로봇 중심선의 기준

좌표계의 X-축으로부터 기울기로써 반시계 방향으로 취한다.

Page 37: R-2007-2-059_인하대 이영삼_중기.hwp

- 36 -

• 거리(distance)와 경로 길이(path length): 출발 자세, 와 도착 자세,

에 있어서 두 자세간의 거리, 는 다음과 같다.

(3.2.1)

이동 경로 길이, 은 다음과 같다.

(3.2.2)

• 회전 반경(turn radius)와 회전각(turn angle): 두 자세간의 회전각, 는 출발 자

세각의 기울기, 와 도착 자세의 기울기, 의 차이다.

(3.2.3)

회전 반경, 은 다음과 같다.

sin

(3.2.4)

식 (3.2.4)의 회전반경은 원호의 경우는 바로 원의 반경이 되고 다항곡선(Polynomial

Curve)의 경우는 초기 회전 반경이 된다.

• 대칭적(symmetric): ≠인 두 개의 자세, 출발 자세, 와

도착 자세, 를 생각한다. 출발 위치로부터 도착 위치까지의 방위

(Orientation)는 다음과 같이 정의한다.

tan

(3.2.5)

와 와 가 다음과 같은 조건을 만족하면 두 자세, 와 는 대칭적이라 부른

다.

Page 38: R-2007-2-059_인하대 이영삼_중기.hwp

- 37 -

(3.2.6)

• 분할 자세(split posture): 대부분의 출발 자세와 도착 자세는 대칭적이지 못하다.

이러한 비대칭적인 자세간의 이동 경로는 대칭적인 자세간의 이동들로 나누어 생각

할 수 있다. 즉, 두 비대칭적인 자세 사이에 양 자세에 대해 다 대칭적인 자세를 찾

아 경로를 계획한다. 이러한 자세를 분할 자세라 한다. 그러난 어떤 두 비대칭적인

자세간의 분할 자세는 무한히 많다.

• 곡률 반경(curvature): 이동 경로의 단위 길이 당 접선각의 변화량을 나타내는

것을 곡률 반경, 라 하는데 다음과 같이 나타낸다.

(3.2.7)

여기서 는 경로 길이 변수(path-length variable)이고, 는 경로의 접선 각도

(tangent angle)이다.

□ 다항 곡선법

출발 자세, 와 도착 자세, 가 서로 대칭적이라는 전제하에서 원호의 반지름은

을 갖는다고 하자. 원호로부터 모양새가 너무 이탈되지 않으면서 그 출발점과 도

착점에서 주어지는 위치, 진행 방향, 곡률 반경의 제약 조건들을 만족하는 곡선을

얻기 위해서는 전체각과 무관하게 곡선상의 거리에 대해 독립변수들이 균등하게 변

할 수 있는 좌표를 정해야 한다. 따라서 극좌표계가 적당하다. 극 각도(polar angle),

의 다항 함수(polynomial function)인 극반지름(polar radius), 의 일반식은 다음과

같다.

⋯ (3.2.8)

원호를 대신하면서 바람직한 연속적인 곡률 반경을 위한 식 (3.2.8)에 대한 위치,

기울기, 곡률 반경의 제약 조건들은 다음과 같이 표현된다.

Page 39: R-2007-2-059_인하대 이영삼_중기.hwp

- 38 -

(3.2.9)

여기서 ≡

, 는 에 대한 곡률 반경이다. 극좌표 에서 정의된 경로에 대

한 접선 각도는 다음과 같다.

tan

(3.2.10)

식 (3.2.10)을 다시 에 대해 미분하면 다음과 같다.

(3.2.11)

여기서 ≡

이다. 경로 길이의 극소 변화, 는 극좌표 형태로 다음과 같다.

(3.2.12)

식 (3.2.11)과 (3.2.12)를 이용하여 곡률 반경, 를 다음과 같이 구한다.

(3.2.13)

식 (3.2.13)을 식 (3.2.9)의 제약조건들에 대입해서 정리하면, 을 요구한다는

사실을 얻을 수 있다. 이러한 제약조건들을 , , 에 적용하면 네 개의 non-zero

계수, 즉, ,

,

,

이 식 (3.2.8)로부터 구해진다. 그러므

로 식 (3.2.8)의 단극 다항(simple polar-polynomial: SPP) 곡선은 다음과 같이 표현

된다[5].

Page 40: R-2007-2-059_인하대 이영삼_중기.hwp

- 39 -

(3.2.14)

극좌표 값으로부터 좌표 값은 다음과 같다.

cos sin tan

(3.2.15)

3. 로봇의 제어

□ 제어를 위한 로봇 모델

그림 3.2.2(a)는 로봇의 바이시클 모델로 4바퀴의 원래의 모델 그림 3.2.2(b)를 2바

퀴로 간략화 해서 표현한 것이다[6]. 우리가 만든 로봇에서는 인 정사각형 모

양이다. 그림 3.2.2(a)의 는 헤딩각(heading angle)이고 로봇 중심선 의 기준 좌

표계의 X-축으로부터 기울기로써 반시계 방향으로 취한다. 는 코스각(course

angle)이고 는 옆미끄럼각(side-slip angle)이다. 이 바이시클 모델로 로봇을 모델

링 하게 된다. 로봇을 제어하기 위해서 우리는 로봇을 그림 3.2.3과 같은 3가지 사

용모드로 제어하게 된다. 그림 3.2.3(b)의 크랩모드는 네 바퀴를 모두 같은 각도를

가지고 제어하는 것을 말한다.

Page 41: R-2007-2-059_인하대 이영삼_중기.hwp

- 40 -

vfl

o r

rlvrrvrld rrd

b

rl

rdrv

frvfrdfd

fvflv

fld b b

vfl

o r

rlvrrvrld rrd

b

rl

rdrv

frvfrdfd

fvflv

fld b b

(a) 로봇의 바이시클 모델 (b) 로봇의 4바퀴 조향 모델

그림 3.2.2 로봇의 모델

vv vv

(a) 앞바퀴 조향모드

vvv

v

v

v

v

v

v

v

(b) 크랩모드 (c) 제자리 회전모드

그림 3.2.3 로봇의 사용모드

Page 42: R-2007-2-059_인하대 이영삼_중기.hwp

- 41 -

앞바퀴 조향모드의 모델은 식 (3.2.16)과 같다.

))(sin(cos

)()1(

))()(sin()()1())()(cos()()1(

rrr

klvkk

kkvkykykkvkxkx

dbd

yy

byby

-D+=+

+D+=++D+=+

(3.2.16)

여기서 는 샘플링 시간이고 는 로봇의 이동속도이다.

크랩모드의 모델은 식 (3.2.17)과 같다.

)()1())(sin()()1())(cos()()1(

kkkvkykykvkxkx

yybyby

=++D+=++D+=+

(3.2.17)

제자리 회전모드를 모델은 때 식 (3.2.18)과 같다.

rlvkk

kykykxkx

2)()1(

)()1()()1(

D+=+

=+=+

yy(3.2.18)

□ 로봇의 제어 알고리즘

로봇의 기본 제어 알고리즘을 요약해서 순서도로 나타내면 다음과 같다.

Page 43: R-2007-2-059_인하대 이영삼_중기.hwp

- 42 -

2. 로봇 상대좌표계 상에서 경로생성.

1. 로봇 상대좌표계 상에서 원하는 목표위치 입력, 현재의 로봇의 상대위치는 (0,0).

5. 현재 로봇의 상대위치와 바로 다음 경로 포인트 사이를 이동할 수 있는 제어기 출력 생성.

6. 칼만 필터를 이용한 로봇 정보와 로봇 모델을 이용해dead reckoning을 통해 현재 로봇의 절대위치를 알아냄

3. 생성된 경로를 절대좌표계로 변환하여 저장.

4. 현재 로봇의 절대위치를 이용해서 다음 경로 포인트를 로봇의 상대좌표계로 변환해서 읽어옴.

7. 생성된 경로의 포인트가남아 있는가?

Yes

No

2. 로봇 상대좌표계 상에서 경로생성.

1. 로봇 상대좌표계 상에서 원하는 목표위치 입력, 현재의 로봇의 상대위치는 (0,0).

5. 현재 로봇의 상대위치와 바로 다음 경로 포인트 사이를 이동할 수 있는 제어기 출력 생성.

6. 칼만 필터를 이용한 로봇 정보와 로봇 모델을 이용해dead reckoning을 통해 현재 로봇의 절대위치를 알아냄

3. 생성된 경로를 절대좌표계로 변환하여 저장.

4. 현재 로봇의 절대위치를 이용해서 다음 경로 포인트를 로봇의 상대좌표계로 변환해서 읽어옴.

7. 생성된 경로의 포인트가남아 있는가?

Yes

No

그림 3.2.4 로봇의 기본 제어 알고리즘

그림 3.3에서 설명하는 기본 제어 알고리즘은 로봇이 생성된 경로를 추종하도록

제어기 출력을 만들어 주는 것이 로봇의 제어 목표이다. 경로는 로 로봇의

상대좌표계 상에서 생성된다. 여기서 제어기 출력은 사용모드에 따라 차이가 있다.

앞바퀴 조향모드와 크랩모드에서는 와 의 제어기 출력을 만들어 주는데, 각각 로

봇의 무게중심점에서의 속도와 옆미끄럼각을 의미한다. 제자리 회전모드에서는 만

의 제어기 출력을 만들어 주는데 이것은 각각의 바퀴의 속도이고 4바퀴의 속력은

같다. 각각의 사용모드에 따라 바퀴의 조향 방법이 달라지고 사용모드는 원하는 목

표위치에 따라서 알고리즘에 의해 적당히 필요에 맞게 자동으로 결정된다. 앞바퀴

조향모드의 제어기 출력을 결정을 위해 그림 3.2.5에서와 같이 경로(path)와 접선

방향각(tangental direction angle)을 생각해 보자.

Page 44: R-2007-2-059_인하대 이영삼_중기.hwp

- 43 -

X

Y

qdx

dyds

( )y P x=

X

Y

qdx

dyds

( )y P x=

그림 3.2.5 로봇의 경로와 접선 방향각

우리의 목표는 경로 를 로봇이 추종하게 하는 것이다. 그러면 는 다음과 같이

구해진다.

arctan

(3.2.19)

그러면 로봇의 와 와 사이의 관계식은 다음과 같다.

(3.2.20)

그림 3.3을 보면 실제적용 시에는 로봇의 상대좌표계 상에서 적용되므로 을

대입해 인 관계식이 성립된다. 로봇의 경로가 생성됐으면 자연스럽게 로봇의

모델에 의해 로봇의 속도가 정해진다. 그러므로 경로생성 시부터 원하는 속도가 나

오도록 경로를 생성해야 한다. 식 (3.2.16)을 정리하면 다음과 같은 식을 얻을 수 있

다.

2 2 2(( ( 1) ( )) / ) (( ( 1) ( )) / )x k x k y k y k v+ - D + + - D = (3.2.21)

위 식으로부터 두 경로점을 한 샘플링 시간 동안에 움직일 수 있는 속력 가 얻

어진다. 크랩모드에서의 값은 로봇의 상대 좌표계에서 입력된 와 가

Page 45: R-2007-2-059_인하대 이영삼_중기.hwp

- 44 -

(3.2.23)

와 로 주어졌을 때 다음의 관계식으로부터 얻어진다.

arctan

(3.2.22)

로봇의 모델 식 (3.2.17)에 의해 정해지는 로봇의 속도는 식 (3.2.21)과 같은 식에

서 얻어진다. 제자리 회전모드에의 속도는 식 (3.2.18)에 의해 정해지는데 다음과 같

다.

로봇의 상대 좌표계 상에서 로봇이 이동할 수 있는 범위는 그림 3.2.6에서 보듯이

1,4 사분면으로 한정된다. 이것은 바퀴가 움직일 수 있는 각도가 -90도에서 +90범위

이기 때문이다. 그림 3.2.6에서 화살표 방향이 로봇의 앞쪽에 해당된다. (0,0)지점이

가 된다. 는 1사분면에서는 ≥, ≥, ≥이다. 4사분면에서는 ≥,

≤, ≤이다.

그림 3.2.6 로봇이 이동할 수 있는 방향

(상대좌표계)이고 로봇의 초기 절대좌표계 상에서의 위치가 이고

각각의 (상대좌표계)를 다음과 같이 순차적으로 입력 했을 때 생성된 경로는 그

Page 46: R-2007-2-059_인하대 이영삼_중기.hwp

- 45 -

림 3.2.7과 같다. 경로를 생성할 때 원하는 속도와 샘플링 시간도 입력하게 한다. 시

작 속도는 0m/s, 중간 속도는 0.1m/s, 최종 속도는 0m/s으로 설정하고 샘플링 시간

은 0.1초로 설정하였다.

0 1 2 3 4 5 6 7 8-2.5

-2

-1.5

-1

-0.5

0

0.5

m

m

그림 3.2.7 로봇의 경로생성

그림 3.2.7의 ‘*’는 로봇이 지나쳐야 할 절대좌표계상의 이동점을 표시한다. 그림

3.2.7에서 생성된 경로를 사용해서 얻어진 와 의 프로파일은 각각 그림 3.2.8과

그림 3.2.9와 같다. 이 시뮬레이션에 사용된 모드는 계속해서 앞바퀴 조향모드가 사

용되었다.

Page 47: R-2007-2-059_인하대 이영삼_중기.hwp

- 46 -

0 10 20 30 40 50 60 70 80 90 1000

0.02

0.04

0.06

0.08

0.1

0.12

sec

m/s

그림 3.2.8 제어기에서 생성된 로봇의 출력

0 10 20 30 40 50 60 70 80 90 100-20

-15

-10

-5

0

5

10

15

20

sec

deg

그림 3.2.9 제어기에서 생성된 로봇의 출력

4. 로봇의 위치추정

로봇의 인코더 정보와 로봇의 모델을 이용해 로봇의 위치를 추정할 수 있다. 여

기서 위치를 추정하기 위해 사용하는 필터는 확장 칼만 필터를 이용한다. 만들어진

로봇에서는 그림 3.2.2 (b)에서 표시된 4바퀴의 속도와 조향각을 인코더 정보를 통

해 얻을 수 있다. 확장 칼만필터의 기본적인 알고리즘은 그림 3.2.10과 같다.

Page 48: R-2007-2-059_인하대 이영삼_중기.hwp

- 47 -

[ ][ ]

{ } )()(

ˆ)(ˆ)(ˆ)()(

)()(

,

))(ˆ(ˆ),),(ˆ()(ˆ

),0(~,)(),0(~,),(

]1[

1]1[]1[]1[

1]1[11

]1[1

)(ˆ

]1[

),(ˆ

1]1[1

),(ˆ

1]1[1

111

1111

1111

--=+

-+-=+

+--=

+F+F=-

¶¶

=

¶¶

=G¶

¶=F

-=+=-

N+=N+=

-

----

-=

=+=

--

=+=

--

---

----

----

kkkk

kkkkk

kT

kkkT

kkk

kT

kkkk

xx

kk

uuxx

kk

uuxx

kk

kkk

kkkk

kkkkkk

kkkkkkk

PHKIPzzKxx

RHPHHPK

QPP

xhH

uf

xfxhz

uxfxRvvxhz

Qwwuxfx

k

kkkk

Nominal dynamic modelNominal dynamic model

Nominal measurement modelNominal measurement model

Sate predictionSate prediction

Measurement predictionMeasurement prediction

LinearizationLinearization

Priori error covariance matrix computationPriori error covariance matrix computation

The Kalman gain computationThe Kalman gain computation

Update sate estimationUpdate sate estimation

Posteriori error covariance matrix computation

Posteriori error covariance matrix computation

1k k= +

[ ][ ]

{ } )()(

ˆ)(ˆ)(ˆ)()(

)()(

,

))(ˆ(ˆ),),(ˆ()(ˆ

),0(~,)(),0(~,),(

]1[

1]1[]1[]1[

1]1[11

]1[1

)(ˆ

]1[

),(ˆ

1]1[1

),(ˆ

1]1[1

111

1111

1111

--=+

-+-=+

+--=

+F+F=-

¶¶

=

¶¶

=G¶

¶=F

-=+=-

N+=N+=

-

----

-=

=+=

--

=+=

--

---

----

----

kkkk

kkkkk

kT

kkkT

kkk

kT

kkkk

xx

kk

uuxx

kk

uuxx

kk

kkk

kkkk

kkkkkk

kkkkkkk

PHKIPzzKxx

RHPHHPK

QPP

xhH

uf

xfxhz

uxfxRvvxhz

Qwwuxfx

k

kkkk

Nominal dynamic modelNominal dynamic model

Nominal measurement modelNominal measurement model

Sate predictionSate prediction

Measurement predictionMeasurement prediction

LinearizationLinearization

Priori error covariance matrix computationPriori error covariance matrix computation

The Kalman gain computationThe Kalman gain computation

Update sate estimationUpdate sate estimation

Posteriori error covariance matrix computation

Posteriori error covariance matrix computation

1k k= +

그림 3.2.10 확장 칼만 필터의 기본 알고리즘

□ 앞바퀴 조향모드에서의 위치 추정

로봇의 프로세스 모델을 식 (3.2.24)와 같이 놓자. 이 프로세스 모델은 로봇이 급

격한 가속, 감속, 회전을 하지 않고 부드럽게 움직인다는 가정 하에서 만족한다.

)()()1()()()1(

)()()1(

kwkkkwkkkwkvkv v

r

b

rr

bb

+=+

+=++=+

(3.2.24)

여기서 는 곡률의 역수를 의미하고 , , 는 적절한 백색 가우시안(white

gaussian) 잡음이다. 확장 칼만 필터 적용을 위한 로봇의 공칭 운동(nominal

dynamic) 모델과 측정(measurement) 모델은 식 (3.2.25)와 같다. 이 모델은 그림

3.2.2 (b)의 로봇에서 앞바퀴만을 조향으로 사용될 때 유도된 것이다.

1 1 11 ( )

1 ( ) , [ ( ) ( ) ( )]k k k k

Tk k k k k

x f x w

z h x v x v k k kb r- - -= +

= + =(3.2.25)

여기서

Page 49: R-2007-2-059_인하대 이영삼_중기.hwp

- 48 -

( )

( )

( )

22

22

22

1 1

( )( ) cos ( ) 1 tan ( )cos ( )

( )( ) cos ( ) 1 tan ( )cos ( )

( )( 1) 0 0 ( )cos ( ) 1 tan ( )cos ( )

1 ( ) 0 ( 1) 0 , 1 ( )0 0 ( 1) ( )( ) cos ( ) 1

c

f

f

r

k k k k

b kv k k kk

b kv k k kk

b kv k v k k kk

f x k h xk b kv k k

rb db

rb db

rb db

br rb

- -

æ ö- +ç ÷

è ø

æ ö+ +ç ÷

è ø

æ ö- - +é ù ç ÷

è øê ú= - =ê úê ú-ë û + ( )

22

2 2

2 2

tan, arctan tan

tan 2tan ( )os ( )

cos ( ) ( ) 2 ( )sin ( ) 1( ) sin ( )

cos ( ) ( ) 2 ( )sin ( ) 1( ) sin ( )

flf fr

flr

f f

f

r r

r

l b

l bk

k

k l k l k kk l k

k l k l k kk l k

dd d

ddb

b r r b

r b

b r r br b

é ùê úê úê úê úê úê úê úê ú æ +ê úê ú =ê ú

+ê úæ ö+ç ÷ê ú

è øê úê ú- + + +ê úê ú+ê úê ú- - +ê ú

-ê úë û

, 0rd

öç ÷ç ÷ =ç ÷ç ÷è ø

식 (3.2.25)를 그림 3.2.10의 알고리즘에서 적절한 양한정 행렬 , , 을 선택해

서 적용한다면 로봇 모델의 상태 를 추정할 수 있다. 이렇게 추정된 상태를 가지

고 식 (3.2.16)을 사용해서 dead reckoning을 적용하면 우리가 원하는 로봇의 절대

좌표, 를 알 수 있다.

□ 크랩모드에서의 위치 추정

로봇의 프로세스 모델은 다음과 같다.

)()()1()()()1(kwkkkwkvkv v

bbb +=++=+

(3.2.26)

로봇의 공칭 운동 모델과 측정 모델은 다음과 같다.

1 1 1

1 1

1 ( )

1 ( ) , [ ( ) ( ) ]

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( )1 ( ) , 1 ( )

( ) 4 4

k k k kT

k k k k kT

fl fr rl rr fl fr rl rrk k k k

x f x w

z h x v x v k k

v k v k v k v k k k k kv kf x h x

k

b

d d d db

- - -

- -

= +

= + =

+ + + + + +é ùé ù= = ê úê ú

ë û ë û

(3.2.27)

식 (3.2.27)를 그림 4.1의 알고리즘에서 적절한 양한정 행렬 , , 을 선택해서

적용한다면 로봇 모델의 상태 를 추정할 수 있다. 이렇게 추정된 상태를 가지고

식 (3.2.17)을 사용해서 dead reckoning을 적용하면 우리가 원하는 로봇의 절대좌표,

를 알 수 있다.

□ 제자리 회전모드에서의 위치 추정

Page 50: R-2007-2-059_인하대 이영삼_중기.hwp

- 49 -

)()()1( kwkvkv v+=+ (3.2.28)

1 1 1

1 1

1 ( )1 ( ) , ( )

( ) ( ) ( ) ( )1 ( ) ( ), 1 ( )

4

k k k k

k k k k k

fl fr rl rrk k k k

x f x wz h x v x v k

v k v k v k v kf x v k h x

- - -

- -

= +

= + =

+ + += =

(3.2.29)

로봇의 프로세스 모델은 다음과 같다.

로봇의 공칭 운동 모델과 측정 모델은 다음과 같다.

식 (3.2.29)를 그림 4.1의 알고리즘에서 적절한 양한정 행렬 , , 을 선택해서

적용한다면 로봇 모델의 상태 를 추정할 수 있다. 이렇게 추정된 상태를 가지고

식 (3.2.18)을 사용해서 dead reckoning을 적용하면 우리가 원하는 로봇의 절대좌표,

를 알 수 있다.

5. 장애물 회피

장애물 회피 알고리즘은 로봇의 경로생성에 포함되는 부분으로 볼 수 있다. 장애

물 회피 알고리즘은 이동 로봇이 활동하는 환경과 목적에 따라 다양한 방법이 연구

되어 왔다.

장애물 회피 알고리즘에서 가장 간단한 문제설정은 미리 알고 있는 장애물을 고

려하여 경로를 생성하는 방법이다. 이것보다 좀 더 어려운 문제설정은 센서 정보를

통해 실시간으로 장애물을 인지하고 경로생성을 하는 방법이 있으며, 정적 장애물

뿐만 아니라 동적 장애물까지 고려하여 장애물을 회피하는 방법이 있다[7].

본 연구에서는 potential field를 이용하여 실시간 장애물을 인지하고 경로를 생성하

는 방법을 구현하였다.

□ Potential field 기법을 이용한 장애물 회피기법

로봇에 가상힘을 적용하는 Potential field 기법은 간단하고 매끄러운 경로를 생성

하기 때문에 장애물 회피기법 알고리즘으로써 수 십년간 가장 많이 적용되고 폭넓

게 응용됨으로써 개선되었다. 이동로봇과 목표위치 사이에 작용하는 가상인력에 의

해 발생하는 위치에너지는 다음과 같이 표현할 수 있다[8].

Page 51: R-2007-2-059_인하대 이영삼_중기.hwp

- 50 -

(3.2.30)

여기서, A는 양수이며 은 로봇의 위치이고, 는 목표위치이다.

또한 이동로봇과 장애물 사이에 작용하는 가상척력에 의한 위치에너지는 다음과 같

이 표현할 수 있다.

(3.2.31)

여기서, B와 는 양수이며, K는 이동로봇과 장애물 사이의 의사 거리

(pseudo-distance)를 나타낸다. 식 (5.1)과 (5.2)로부터 경로를 생성하는 위치에너지

U를 유도하면 다음과 같다.

(3.2.32)

경로는 식 (5.3)을 미분함으로써 얻어질 수 있다.

(3.2.33)

□ 시뮬레이션 결과

Matlab, Simulink를 이용하여 경로회피 알고리즘을 시뮬레이션 하였다. 로봇이 이

동중에 장애물이 나타나면 실시간으로 장애물을 회피하는 것을 확인하였다. 로봇의

시작점의 위치는 (0, 0), 목적지는 (10, 10)으로 놓고 장애물의 위치를 바꿔가며 시

뮬레이션을 하였다. 그림 3.2.11과 그림 3.2.12는 시뮬레이션 결과이다.

Page 52: R-2007-2-059_인하대 이영삼_중기.hwp

- 51 -

그림 3.2.11 경로회피 시뮬레이션 결과

그림 3.2.12 경로회피 시뮬레이션 결과

그림 3.2.11과 그림 3.2.12에서 장애물 주위에 있는 별표는 로봇이 장애물을 인식

하고 가상척력에 반영한 점이다. 실시간으로 장애물을 인식하게 되면 장애물의 전

체 모습을 알 수 없고 포인트로 표현되기 때문에 이러한 상황을 반영하여 시뮬레이

션 하였다.

Page 53: R-2007-2-059_인하대 이영삼_중기.hwp

- 52 -

0 5 10 15 20 25 300

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Time[s]

Velocity[m/s]

그림 3.2.13 시간에 따른 속도 변화

그림 3.2.13은 그림 3.2.12 시뮬레이션 결과의 속도변화 그래프이다. 6초 부근에서

첫 번째 장애물을 발견하여 속도를 줄이고 10초 부근에서 두 번째 장애물을 만나

속도를 줄이는 모습을 볼 수 있다. 목표점까지 도달하는 데는 약 26초가 걸렸다. 속

도변화가 연속적으로 일어나기 때문에 실제 로봇에 적용하기에도 알맞은 알고리즘

이다. 하지만 경로회피 알고리즘을 실제 로봇에 적용하기 위해서는 로봇과 장애물

의 위치를 인식하여야 한다. 향후에 비전 기반의 동시간 위치추정 및 지도작성

(Simultaneous Localization and Mapping)연구 결과와 통합하여 실제 로봇에 적용

할 수 있다.

Page 54: R-2007-2-059_인하대 이영삼_중기.hwp

- 53 -

제 3 절 비주얼 서보잉(Visual Servoing)

1. 연구 배경

가. SRF(Sonar Range Finder)을 이용한 주행실험

본 연구에서는 실험 초기에 중저준위 폐기물 저장소 내의 폐기물 드럼통 사이를

이동할 수 있는 주행 실험으로 SRF 실험을 실시하였다. 이 실험은 초음파 센서에

서 나오는 거리 데이터를 이용해 좌․우측 벽면과의 거리를 일정하게 유지하며 이

동하게 된다. 아래 그림 3.3.1을 초음파 센서는 23cm간격으로 두 개를 설치해 두 개

의 센서데이터의 평균값으로 거리를 측정하였으며 옆의 벽과 70cm를 유지하며 앞

으로 주행하는 시스템이다.

그림 3.3.1 SRF를 이용한 주행테스트

초기 로봇의 위치가 벽과 수평으로 놓여져 있지 않아도 20도 이내의 위치에 있으

면 다시 수평을 맞춰서 가기위해 조향모드를 이용하였고, 초반 벽과 수평으로 맞추

어져 있지 않거나 벽과의 거리가 70cm와 차이가 있을 때 Bang Bang 컨트롤을 이

용하여 벽과의 거리를 70cm로 유지하게 된다. 그리고 SRF의 센서데이터는 고정적

인 값이 아니기 때문에 거리오차를 줄이기 위하여 PI제어를 이용해 주행로봇의 안

정성을 확보하였다. 아래 그림 3.3.2는 SRF의 실험 데이터로써 샘플링 타임은 50ms

이며 속도는 1.8km/h이다. 그림 3.3.2에 SRF1과 SRF2은 두 개의 SRF 센서데이터

차이로 처음에 기울어져 있음을 아래의 센서차가 0으로 수렴하는 것으로 알 수 있

다. 2.9초 후 두 개의 센서데이터가 한곳으로 모이며 벽과 수평을 유지하고 난 후

Page 55: R-2007-2-059_인하대 이영삼_중기.hwp

- 54 -

70cm로 기준거리를 유지하기 위해 1.6초의 시간이 걸리는 것을 알 수 있다. 4.5초

후 70cm를 0.4cm의 오차를 발생하며 성공적으로 주행하는 모습을 볼 수 있다.

-10

0

10

20

30

40

50

60

70

80

90

100

110

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97 101105109113117121125129

SRF1

SRF2

센서차

에러

그림 3.3.2 SRF 실험 데이터

그러나 이런 SRF 주행실험은 드럼통이 양쪽으로 쌓여 있는 경우에는 옆쪽에 평

평한 판을 세우지 않는 이상 드럼통의 굴곡에 따라 좌우로 진동하며 주행하는 경우

가 발생하게 되고 코너를 돌게 될 때 역시 특별한 기준점이 없는 한 원만한 곡선

주행이 불가능하기에 다양한 이동을 하는데 실패하였다. 하지만 비주얼 서보잉은

정해진 길을 이탈할 확률이 적고 좌우로 진동할 염려가 없기 때문에 신속한 작업

처리와 안정된 주행을 지속할 수 있기 때문에 SRF 주행실험 대신 적용하게 되었

다.

나. 비주얼 서보잉의 개념

인간은 시각, 청각, 후각, 미각, 촉각 등으로 정보를 취득하며, 이중 시각을 통하

여 가장 많은 정보를 취득하고 있다. 영상처리(Image Processing)는 시각 정보의

중요성과 영상을 취득하는 장비의 발달 및 처리 기술의 향상으로 인하여 전산학 항

공 지질 해양 국방 의료 토목 환경 기상 등의 분야에서 그 중요성과 활용도가 급격

히 증가하고 있고 이에 따른 연구가 활발히 진행 중에 있다.

Page 56: R-2007-2-059_인하대 이영삼_중기.hwp

- 55 -

그림 3.3.3 비주얼 서보잉 개념도

그림 3.3.3은 비주얼 서보잉 개념도이다. 지능형 비주얼 서보잉 기술은 영상 처

리 분야에 해당하는 기술로서 카메라 또는 웹캠을 이용하여 물체 인식 및 사용자

얼굴표정 인식 등을 이용하여 주변환경에 대한 정보를 얻어 그 대상을 트래킹하는

기술로써 장애인을 위한 재활로봇, 안내도우미 로봇, 청소도우미 로봇, 무인자동차

등 서비스 로봇 분야에서 많은 개발이 이루어지고 있다.

본 연구에서는 특징 추출(feature extraction)분야를 이용하고 있다. 특징 추출 분

야는 영상에서 에지(eage) 사각형 타원 등을 추출하여 물체를 인식하고 분석하는데

효율적이고, 정확성을 높이기 위한 전처리 과정으로 에지 감지기(Canny, Sobel), 허

프 변환 (Hough transform), Wavelet 변환, Fourier 변환, Snake 등의 방법으로 특

징들을 추출하고 있다. 이중 허프 변환을 이용한 비젼 시스템을 통한 라인 인식 시

스템은 카메라에서 얻은 영상정보를 USB를 통해 전송받은 이미지를 PC에서 분석

하여 로봇 시스템의 조향각 및 주행 속도가 결정되며 전체 시스템은 영상입력부,

전처리부, 라인검출부, 제어부 등 4단계로 이루어졌다. 아래 그림 3.3.4는 본 로봇

시스템의 흐름도를 나타내고 있다.

Page 57: R-2007-2-059_인하대 이영삼_중기.hwp

- 56 -

캡쳐

영상 처리

허프 변환

마커 검출

입력 데이터 선택

모드 변경YES

전진<->코너

웹캠 변경

후진 <-> 전진/코너

컨트롤러 주행

NO

그림 3.3.4 Line Tracking Robot Schematic Diagram

2. 국내 및 국외 연구 동향

가. Domo

아래 그림 3.3.5는 MIT대학의 인공지능랩에서 개발한 ‘Domo'라는 로봇으로 총

29자유도를 가지고 있으며, 얼굴에 달린 스테레오 카메라를 이용하여 인식한 새로

운 물건을 이전 정보를 토대로 잡는 방법을 찾아낸다. 부엌에서 식료품을 정리하는

등 초보적인 가정부 로봇의 기능을 갖추고 있다[9].

그림 3.3.5 MIT 비주얼 서보잉 로봇 'Domo'

Page 58: R-2007-2-059_인하대 이영삼_중기.hwp

- 57 -

나. 자율이동로봇

그림 3.3.6은 한국 기계연구원에서 개발한 자율이동로봇은 목표물 추적 및 목표물

명중을 위해 사격할 수 있도록 설계되었다. 목표물의 이동을 추적할 수 있도록 팬-

틸트(pan-tilt)를 제어한다. USB 카메라 영상에서 대상체의 특징을 추출하고, 추출

한 특징으로부터 시각구동장치의 이동 위치 및 방향을 결정하기 위한 퍼지논리시스

템을 설계하여 더욱 정확하게 물체를 추정할 수 있다[10].

그림 3.3.6 웹캠을 이용한 자율이동로봇

다. Cycab

아래 그림 3.3.7의 프랑스의 INRIA-IRISA Campus에서 개발 된 Cycab은 4개의

조향 가능한 바퀴를 가지고 있고 높이 1.625m, 하향각도 0.545rad으로 로봇에 부착

되어 있는 pin hole 카메라를 사용하여 visual servoing을 수행하는 로봇이다. 라인

의 특징점을 추출한 후에 추출된 정보를 사전에 정의된 7가지 종류의 템플릿에 적

용하여 로봇을 제어하게 된다[11].

Page 59: R-2007-2-059_인하대 이영삼_중기.hwp

- 58 -

그림 3.3.7 프랑스 INRIA-IRISA에서 개발한 Cycab

3. 문제 설정

가. 기존 연구의 문제점

비주얼 서보잉을 사용하여 주행로봇을 제어할 때 카메라가 원근 투영이 되면 영

상에 왜곡이 생기게 되어 라인의 정확한 각도를 추출할 수 없게 된다. 이러한 문제

를 해결하기 위해 Image Jacobian과 Perspective Camera Modeling 방법을 사용하

게 되는데 이러한 알고리즘으로 인한 과도한 연산 문제로 영상 프레임이 제한되어

정밀한 제어를 위해 필요한 샘플링 시간을 확보하기 힘들게 된다.

또한 라인의 특징을 특정 템플릿에 적용하는 경우 로봇 제어가 간단하다는 장점이

있지만 실제 라인과의 오차가 반드시 생기게 된다. 본 연구에서는 좌우에 폐기물

드럼이 있는 복도가 있는 환경을 제안하였기 때문에 템플릿 적용으로 생기는 오차

로 인해 로봇의 충돌이 예상 될 수 있다. 따라서 정확한 라인 검출에 의한 오차 감

소가 요구된다.

Page 60: R-2007-2-059_인하대 이영삼_중기.hwp

- 59 -

나. 본 연구에서 제안한 로봇 구조 및 알고리즘

비주얼 서보잉을 통해 로봇의 주행을 제어하기 위해서는 로봇의 이동 속도에 비

례하여 제어에 필요한 샘플링 타임이 결정된다.

× (3.3.1)

위의 식 3.3.1에서 계수 k는 으로써 비주얼 서보잉 과정에서 검출된 라인

과 로봇간 거리의 최대 오차가 5cm를 만족하는 실험 데이터를 기준으로 하여 측정

하였다.

따라서 로봇 구조의 최적화를 통해 불필요한 알고리즘을 생략하여 연산량을 최소

화 시키는 일이 필요한데 카메라를 지면과 수평하게 위치시킴으로써 직교 사영

(orthogonal projection) 영상의 성질에 의하여 영상좌표를 별도의 연산 과정이 없이

로봇 제어에 활용 할 수 있었다. 또한 영상처리 알고리즘 부분에서는 특징점 추출

을 하게 되면 과도한 연산량을 필요로 하게 되는데 허프 변환을 채택함으로써 라인

추출의 정확성 및 영상처리 루틴의 부하를 최적화 시킬 수 있었다.

4. 전처리 과정

카메라에서 얻어진 영상은 허프변환에 의해 라인 검출이 되기 전에 그림 3.3.8과

같은 전처리 과정을 거치게 된다.

그림 3.3.8 영상처리 된 이미지

Page 61: R-2007-2-059_인하대 이영삼_중기.hwp

- 60 -

먼저 입력된 컬러 영상을 HSI 색상 평면으로 나누고 원 영상과 가장 유사한 명

도성분(Intensity)을 나타내는 영상을 구한 후 영상에 발생하는 random noise를 제

거하기 위해 미디안(median) 필터를 사용하였다.

미디안 필터는 임펄스 잡음을 제거하기 위해 사용되며 저주파 통과 필터나 블러

링 방법에 비해 임펄스 잡음 제거뿐만 아니라 edge를 잘 보존한다는 장점이 있다.

또한 주변의 화소값에 민감하지 않을뿐더러 극단적인 값만 제거 하고, 새로운 화소

값을 블록내의 중간값에 삽입한다. 따라서 라인을 검출하기 위한 본 프로젝트의 용

도에 가장 적합한 필터로 채택되었다.

다음으로 적은 메모리양과 빠른 연산 을 위해 이진영상으로 변환시켰다. 하지만

카메라가 주행로봇에 장착되어 있으므로 일반적인 고정된 임계값을 사용한 이진화

방법을 사용하게 되면 영상 취득 과정에서 시간에 따른 조명의 변화와 그림자 등의

외적 잡음 문제로 인해 깔끔하게 객체를 추출하기 힘들게 된다.

Otsu 이진화 알고리즘은 최적의 임계값를 얻어내기 위해서 차별 분석에서 쓰이는

측정치를 사용한다. 즉, Otsu 방법은 식 (3.3.2)에서와 같이 를 측정치로 사용할

때, 최적의 임계값를 얻기 위해서 측정치 를 가장 크게 하는 K값을 선택한다

[12-14].

max max

max

(3.3.2)

식 (3.3.2)에서 은 식 (3.3.3)와 같다.

(3.3.3)

식 (3.3.4)에서 영상의 전체 평균

이고, 클래스에서 발생할 확률

이며, 해당 클래스에서의 평균

이다. 특히 주어진 영상의

계조도 값이 L이라고 하면, 계조도 값의 히스토그램인 확률 분포 함수는 식 (3.3.4)

과 같다.

(3.3.4)

식 (3.3.4)에서 는 i 레벨 값의 화소수이며, 는 I 레벨에서의 확률을 나타내고

이다. 결국, 식 (3.3.3)로부터 분할하고자 하는 두 영역의 분산을 최

Page 62: R-2007-2-059_인하대 이영삼_중기.hwp

- 61 -

대로 하는 임계값 K를 구할 수 있다. 실제로 이 Otsu 알고리즘을 적용하여 이진화

영상을 적용하게 되면 조명이나 그림자 등의 잡음을 제거하는 효과 외에도 영상 내

에 있는 장애물과 같은 잡음이 아닌 원하지 않는 객체 중 일부를 필터링 하는 효과

를 볼 수 있었다.

이진화 된 영상은 마지막으로 허프 변환 과정으로 가기 전에 Canny Edge 검출

과정을 거치게 된다. 대부분의 에지 추출 마스크는 잡음에 민감해, 작은 잡음이라도

에지로 간주하는 경우가 많은데 비해 Canny mask는 잡음에 민감하지 않게 하며

강한 에지를 추출하는 것이 특징이다. 2차 미분 연산을 통해 에지를 추출하게 되며

라인 에지 추출에 있어서 방향성을 검출할 수 있기 때문에 아래 그림 3.3.9와 같이

방향성에 따른 에지의 굵기가 차별화 되는 것을 이용하여 세선화 과정인 침식연산

을 거쳐 2차 잡음 필터링 기능으로도 사용될 수 있다.

그림 3.3.9 Canny Edge 검출을 사용한 예

5. 허프 변환

가. 라인 검출

허프 변환(Hough Transform)은 영상내의 직선과 곡선을 검출함에 있어서 유용한

방법으로 패턴인식 분야에서 널리 이용되어 왔으며 특히 의료용 영상처리, 로봇 비

젼, 산업용 검사영역 등에 있어 3차원 또는 2차원 물체로부터 원하는 선 모양을 검

출하기 위해서 광범위 하게 연구되어 왔다. 전통적인 허프 변환은 입력 영역에서

하나의 직선을 파라미터 영역에서 하나의 첨두치로 정합시킨다. 그 첨두치로부터

입력 직선의 원점에서의 거리와 각도 정보는 알 수 있지만 정확한 직선의 위치는

알 수 없다. 그래서 직선의 중심점과 첨두치의 세기로 직선의 위치를 추출하는 방

법이 제안되었으나 이 방법에서는 좌표계에서 중심점에 대응하는 중앙 곡선을 찾기

어려울 뿐만 아니라 허프 변환을 구하는데 있어서 영상의 첨두치의 세기가 직선의

점의 수에 의존하고 있어 직선의 길이에 오차가 생기게 된다. 본 연구에서는 변환

된 영상을 적절한 문턱값으로 이진화한 영상에서 직선의 양 끝점의 좌표를 구하여

직선의 위치와 길이를 알 수 있게 하는 방법을 사용했다. 이 방법은 직선의 길이에

Page 63: R-2007-2-059_인하대 이영삼_중기.hwp

- 62 -

대한 오차를 없앨 수 있고, 양 끝점을 구할 때 허프 변환 정보의 포락선만을 이용

함으로 더 쉽고 정확하게 위치를 추출할 수 있다.

허프 변환은 다음과 같은 방법으로 이루어진다. (x, y)를 (a, b)라 가정하고 새로

운 좌표계에 y'=ax'+b를 그리면 여러 개의 직선들이 존재하게 되는데 이중 가장 많

은 직선을 지나는 점 (x', y')를 다시 (x, y) 좌표계로 변환하면 점들이 지나는 직선

을 구해낼 수 있는 규칙이다. 아래 그림 3.3. 은 허프변환을 이용해 책장의 특정 직

선만을 찾아내서 3.3.10 (b)와 같이 굵은 선으로 직선을 그린 장면이다.

(a) Source image (b) Hough Transform image

그림 3.3.10 허프 변환을 이용한 이미지

그림 3.3.11 (a)는 Canny Edge 추출 알고리즘을 사용한 영상을 그래프화 한 것이

며 이것에 식 (3.3.5)와 같은 방정식을 사용하게 되면 그림 3.3.11 (b)와 같은 2차원

형식의 히스토그램과 같이 표현할 수 있다. 특정 부분에 교차점이 누적된 수만큼

가중치를 부여 하여 이 부분을 직선이 검출된 영역으로 인식하게 된다[15].

sincos

⋅sin

(3.3.5)

(a) (b)

그림 3.3.11 허프 변환 과정

Page 64: R-2007-2-059_인하대 이영삼_중기.hwp

- 63 -

나. 마커 검출

로봇이 라인 추종 과정에서 코너 진입이나 후진 등의 모드를 변경하기 위해서 상

태 인식을 위한 장치로 파란색의 원형 마커를 부착하였으며 라인과의 구별을 쉽게

하기 위해서 검은 색과 잘 구별되는 파란색을 사용하였다. 이 때문에 이미지를

RGB 색상 평면으로 나누는 것만으로도 아래 그림 3.3.12와 같은 이미지를 쉽게 얻

어 낼 수 있다.

그림 3.3.12 전처리를 거친 마커 검출 이미지

일반적인 허프 변환은 직선만을 검출하게 되어 있지만 아래 식 3.3.6과 같은 간단

한 원의 방정식을 (a, b, r)의 3차원 누적기에 적용하여 원형 이미지를 검출할 수

있게 된다.

(3.3.6)

또한 수정된 허프 변환 알고리즘을 통해 원형 객체 검색할 때 원의 크기를 검색조

건에 입력함으로써 잡음에 영향 받지 않고 마커의 존재 여부를 정확하게 인식할 수

있다.

6. 주행로봇의 라인 추적제어

가. 크랩모드

본 주행 로봇은 라인을 따라 이동할 때 크게 두 가지 모드로 나뉜다. 첫 번째는

아래 그림 3.3.13과 같은 크랩모드로 라인의 중심과 로봇의 중심이 어긋나 있을 때

카메라 영상에서 나오는 거리 정보를 이용하여 두 중심사이의 거리 d를 측정한다.

그 다음 측정된 d의 값이 설계된 PI controller 계수 값에 의해 최적의 값을 찾아내

게 되면 그 출력된 값이 각도값으로 변환되어 네 바퀴의 엔코더에 입력되어 네 바

퀴가 같은 각도의 θ값으로 조향되어 로봇의 중심과 라인의 중심이 일치하도록 제

Page 65: R-2007-2-059_인하대 이영삼_중기.hwp

- 64 -

어하게 된다.

PI제어는 잔류편차를 없애기 위해 사용되는 비례 적분 제어로 편차를 없애는 방

향으로 동작시킨다. 이것은 실제의 목표값에 유연하게 접근할 수 있다. 확실히 목표

값으로 제어할 수 있지만, 일정시간(시정수)이 필요하다. 이때 정수가 크면 외란이

있을 때 응답 성능이 나빠진다. 즉, 외란에 대하여 신속하게 반응할 수 없고, 즉시

원래의 목표값으로는 돌아갈 수 없다는 것이다. D성분을 추가해 PID제어기를 구성

하여 안정적이고 신속히 목표값에 도달할 수 있도록 제어하는 것이 최종 목표이다.

그림 3.3.13 크랩 모드

나. 에크만 모드

카메라에서 인식하는 검은색 라인의 외곽선을 빨간색 직선으로 잡게 되는데 직선

의 경우에는 아무런 문제가 발생하지 않지만 곡선의 경우는 곡률이 있기 때문에 로

봇이 경로를 이탈하게 되는 상황이 발생할 수 있다. 그래서 네 바퀴가 같은 각도로

조향하는 크랩모드로는 일반적인 조향이 불가능 하게 된다. 이를 극복하기 위해 본

연구에서는 웹캠에서 나온 직선과 로봇의 중심의 각도를 계산의 곡선라인의 곡률을

계산하고 로봇 외곽으로 라인의 곡률과 일치하는 큰 원의 중심을 계산하여 좌우 두

쌍의 바퀴가 서로 다른 각도 조향되고 좌우의 바퀴의 속도 역시 각각 다르게 제어

되는 그림 3.3.14의 에크만 모드를 이용하였다.

Page 66: R-2007-2-059_인하대 이영삼_중기.hwp

- 65 -

그림 3.3.14 에크만 모드

그림 3.3.14에서 는 로봇 무게중심에서의 속도를 의미하고, 는 로봇 중심에서의

조향각을 의미한다. 아래 식 3.3.7과 식 3.3.8은 좌우의 , 가 라인과 같은 곡률의

원의 중심과 로봇의 중심이 이루는 각을 계산하는 수식이다.

11

2 2

1sin1 11 2 1

sin sin

q

q q

-

æ öç ÷ç ÷= ç ÷ç ÷+ - -ç ÷è ø

(3.3.7)

12

2 2

1sin1 11 2 1

sin sin

q

q q

-

æ öç ÷ç ÷= ç ÷ç ÷+ + -ç ÷è ø

(3.3.8)

Page 67: R-2007-2-059_인하대 이영삼_중기.hwp

- 66 -

7. 실험결과

본 실험은 OpenCV기반의 Visual C++6.0을 사용하였으며, 아래 그림 3.3.16은 원

자력 발전소 중저전위 폐기물 저장소를 Solid Works 2008을 이용하여 연구소 내

복도에서 수행하였다. 폐기물 저장소의 환경과 유사한 환경을 만들기 위해

55x85cm의 크기의 PE드럼을 이용하였으며 한줄 당 4줄씩 2층으로 총 24개로 구성

되어 있다.

명칭폐기물 저장

드럼

규격600 x 900

(mm)

용도방사선

폐기물 저장

명칭 PE 드럼

규격550 x 850

(mm)

용도고속도로 및

주차 안전용품

그림 3.3.15 3D 폐기물 저장 드럼과 PE 드럼 사양

그림 3.3.16 3D CAD 비주얼 서보잉 배경

Page 68: R-2007-2-059_인하대 이영삼_중기.hwp

- 67 -

로봇 이동 실험은 전․후방에 위치한 두 개의 카메라가 서로 연동되면서 인식한

검은색 라인의 중심을 허프 변환을 이용해 계산하게 되면 그림 3.3.17의 첫 번째 화

면과 같이 검은색 라인 양쪽을 빨간색 선으로 표시되고 중심은 파란색 선으로 표시

된다. 이동 로봇은 중심 파란선을 기준으로 이동하게 되는 것이 기본 주행이다. 이

동 중 파란색 점이 특정마커로 인식되면 직진, 후진, 코너주행으로 모드가 변환된

다. 처음 출발 시 파란색 점을 인식하게 되면 코너와 직진의 갈림길에서 코너를 선

택하게 된다. 드럼통 사이를 통과해 라인 끝단의 파란색 점을 인식하면 후방 카메

라로 전환되면서 후진을 하게 되며 주행 도중 파란색 점을 전방 카메라가 인식하게

되면 다시 전방에 위치한 카메라로 전환되면서 갈림길에서 직진을 선택하게 된다.

그렇게 모두 6개점을 순서대로 카운트 하면서 통과하게 되고 파란색 점이 일정숫자

이상 카운트되면 원래 출발했던 곳으로 라인을 따라 후진으로 이동하게 된다. 그림

3.3.18은 전체 실험 배경을 위에서 내려다 본 3D CAD 화면이다. 그림 3.3.19은 실

제 환경에서 비주얼 서보잉을 이용해 라인을 따라가며 로봇이 이동하는 모습이다.

그림 3.3.17 Line Tracing User Interface

Page 69: R-2007-2-059_인하대 이영삼_중기.hwp

- 68 -

그림 3.3.18 전체 라인 배경

그림 3.3.19 실제 실험 환경에서의 비주얼 서보잉

Page 70: R-2007-2-059_인하대 이영삼_중기.hwp

- 69 -

8. 결론 및 향후 발전 계획

현재 개발한 Line Tracking 주행 로봇은 그림자와 조명의 변화에 대한 에러를 극

복하기 위해서 Otsu 알고리즘을 사용했다. 그럼에도 불구하고 색상에 분산정보를

파악해서 문턱값을 설정하는 이 알고리즘은 그림자의 크기가 한계치를 벗어날 경우

문턱값이 비정상적으로 설정되는 경우가 발생하게 된다. 그리고 시간의 변화에 따

라 그림자가 변하게 되면 실험 역시 같은 제어조건하에서도 불구하고 주행 성능이

달라지는 것을 확인할 수 있었다. 향후 조명 및 그림자의 영향을 개선시킬 수 있는

알고리즘에 대한 연구가 필요하고, LRF(Laser Range Finder)를 이용하여 비젼에서

극복할 수 없는 부분에 대한 상황과 연동이 이루어지도록 설계하여 더 강인한 주행

실험 결과를 얻어내도록 해야 된다.

Page 71: R-2007-2-059_인하대 이영삼_중기.hwp

- 70 -

제 4 절 MSRDS를 사용한 시뮬레이터

1. 개요

시뮬레이터는 주로 연구용, 혹은 훈련용으로 사용된다. 본 연구에서는 연구용 및

훈련용으로 시뮬레이터를 개발하였다. 서투른 조작으로 인한 로봇의 고장 및 사고

의 발생을 막으며, 로봇에게 적용할 알고리즘을 시험하기 위함이다.

이러한 시뮬레이터는 2D 및 3D로 구성될 수 있으나 효율적인 시뮬레이터는 3D

환경으로 구성해야 한다. 또한 물리엔진은 실제와 유사하게 실험할 수 있다는 점에

서 연구 및 훈련용 시뮬레이터의 필수 조건이다.

물리엔진의 종류는 PhysX, Havok, ODE, Newton Game Dynamics, Tokamak

Game Physics, Physics And Math Library등 여러 종류가 있다.

Havok은 Havok Game Dynamics SDK의 이름이자 그 SDK를 만든 회사 이름이

기도 하다. 현재 100개 이상의 게임(Half-Life2와 source)들이 Havok 물리 엔진을

사용한다. 또한 3D Studio Max, 영화 등 다양한 분야에서 사용되고 있다. 그러나

상용 엔진이므로 많은 비용이 소모 된다. 아래 그림 3.4.1의 좌측 그림이 Havok물

리엔진을 이용한 시뮬레이션의 모습이다.

PhysX는 AGEIA가 제공하는 물리 엔진 및 SDK의 이름이다. 이 엔진은 XBox의

Gears of War, Ghost Recon, Gothic 3 joint Task Force등 각종 게임 엔진으로 사

용되고 있으며, Microsoft Robotics Developer Studio(이하 MSRDS)에도 사용되고

있다. 아래 그림 3.4.1의 우측 그림이 PhysX를 사용한 MSRDS의 시뮬레이션 모습

이다.

그림 3.4.1 Havok(좌측), PhysX(우측)으로 구성된 시뮬레이션의 모습

Page 72: R-2007-2-059_인하대 이영삼_중기.hwp

- 71 -

ODE는 Open Dynamics Engine의 약자이다. ODE는 Havok, PhysX만큼 많은 기능

을 제공하지 않는다. 하지만 오픈소스이기 때문에 많은 부분을 이용자가 연구 및

개발해 볼 수 있다. Newton Game Dynamics역시 오픈소스이다. 하지만 ODE에

비해 엔진의 소스 코드가 제공되지 않는다.

Tokamak Game Physics도 비상용과 상용 모두에 완전히 무료로 사용할 수 있는

물리 엔진이다. 많은 예제와 튜토리얼을 제공한다. 그러나 최근 2년 동안은 소스 갱

신이 되지 않는 문제점이 있다.

Physics And Math Library는 독일 기반 엔진으로, havok과 PhysX 같은 상용 엔

진들이 갖춘 여러 기능들을 구현하는 데 초점을 뒀다. 사용은 무료이지만 독일권

사용자들을 대상으로 하고 있기 때문에 정보를 얻기가 힘들다는 문제가 있다.

높은 비용의 상용 물리 엔진으로 시뮬레이션을 구성하면 높은 성능을 발휘하겠지

만, 본 연구에서는 무료로 사용할 수 있으며, 쉽고 빠른 시간 안에 구현 가능한 물

리엔진으로 구성된 MSRDS를 선택하여 3D시뮬레이션을 개발하였다.

2. MSRDS

MSRDS는 Microsoft社에서 2006년 말에 새롭게 출시한 로봇 애플리케이션 개발

툴이다. MS에서는 Ageia社를 인수하여 Ageia physics engine을 MSRDS에 적용

하여 보다 실질적인 물리환경을 구축 할 수 있게 하였다. MSRDS는 로봇 개발자들

의 문제점을 해결하는 시점으로 개발되었다. 많은 로봇 S/W 개발자들의 공통적으

로 접하는 문제점은 독립적인 플랫폼에 따른 독립적인 S/W개발에 있다. 이는 다른

로봇의 S/W를 가져다 사용할 수 없는 문제를 유발하여, 유사한 S/W를 많은 시간

을 투자하여 다시 개발하는 문제를 야기 시킨다. 이에 Microsoft社에서는 이러한 문

제점을 해결하기 위한 다양한 서비스들과 많은 로봇 개발자가 겪는 시뮬레이터에

대한 해결 방안으로 MSRDS를 제시하였다. MSRDS에서는 Concurrency and

Coordination Runtime(이하 CCR), Decentralized Software Services(이하 DSS),

Visual Simulation Environment, Visual Programming Language(VPL), Robotics

Samples, 등의 다양한 서비스들을 통해 로봇 개발자가 지닌 문제점의 해결책을 제

시하였다. 동시처리 및 다중 CPU 제어를 담당하는 CCR, 다양한 서비스들을 연결

해 주는 DSS, 코드 개발이 어려운 이를 위한 VPL등 로봇 개발을 보다 쉽고 빠르

게 개발 할 수 있도록 한다. 본 연구에서는 여러가지 물리엔진 중 무료로 배포되는

MSRDS를 이용하여 실제 로봇의 환경과 유사한 시뮬레이션 환경을 구축하여 실험

및 연습의 용도로 개발하였다.

Page 73: R-2007-2-059_인하대 이영삼_중기.hwp

- 72 -

3. MSRDS 서비스

MSRDS는 그림 3.4.2과 같이 다양한 서비스들을 제공하며, 이러한 서비스들을 이

용하여 단기간에 시뮬레이션 환경을 구축할 수 있다.

그림 3.4.2 MSRDS에서 제공하는 서비스

이러한 서비스들은 MSRDS의 강점 중 하나이다. 많은 로봇 개발자가 공통적으로

필요로 하는 서비스들은 이미 개발되어 서비스 목록에 들어 가 있거나, 추후 개발

및 배포될 예정이다. 이러한 서비스는 닷넷 개발 환경으로 개발되어 있으며, 다양한

언어를 포괄 지원한다[16].

MSRDS에서 제공되는 서비스를 이용하여 각 연구에 특화된 로봇에 사용하기 위

해서는 미들웨어 서비스가 필요하다. 미들웨어 서비스는 이러한 서비스들과 로봇의

중간 단에서 연결해주는 서비스를 말한다. 개발자는 미들웨어 서비스만 개발해 주

면 MSRDS에서 제공되는 서비스들을 이용하여 보다 쉽고 빠르게 로봇 S/W를 개

발할 수 있게 된다.

제공되는 서비스로는 위 그림 3.4.2에서처럼 14개의 기본 서비스와 MSRDS의 파

트너사에서 제공하는 10개의 서비스가 있으며, CCR, DSS, VPL, Visual Studio

Environment, Simulation Environment and Robots등의 5개의 핵심 서비스가 있다.

이러한 서비스는 Service Oriented Architecture(이하 SOA)를 기반으로 개발되었기

때문에 다른 서비스와 융화 및 연동이 유용하며, 쉽게 접근이 가능하기 때문에 독

자적인 로봇이라 할지라도 쉽게 사용이 가능하다[17].

본 연구에서는 다중처리를 위한 CCR, 메시지 기반의 서비스를 위해 DSS, 보다

Page 74: R-2007-2-059_인하대 이영삼_중기.hwp

- 73 -

다양한 서비스를 구현하기 위한 Visual Studio Environment, 시각적 인식 및 환경

을 위한 Simulation Environment 등의 핵심 서비스를 사용하였으며, 제공되는

Sensor service(Laser Range Finder), motor service, drive service, web cam

service를 사용하여 시뮬레이션을 구축 하였다.

4. MSRDS를 사용한 시뮬레이션 사례

국내에선 이미 MSRDS를 이용하여 시뮬레이션 및 제어에 이용하고 있다. 유진로

봇의 X-Bot, robo3.com의 T-Bot, 모스아이텍의 MIR을 비롯해 HR-II, I-Robo등 여

러 로봇이 있으며, 해외에서는 uBot-5, Pioneer, Lego Mindstorm, Boe-Bot,

WhiteBox, Surveyor SRV-1, Electric House, IRobot社의 Create Robot, robosoft社

의 로봇차량등 국내외 다양한 기업들이 MS사와 파트너쉽을 맺고 다양한 로봇을 개

발 및 사용하고 있다. 대표적인 로봇으로 아래 그림 3.4.3의 Pioneer가 있다.

Pioneer는 MSRDS에서 기본적으로 서비스가 지원되므로 별도의 프로그래밍 없이도

바로 적용 로봇을 구동 및 Test해 볼 수 있다.

그림 3.4.3 시뮬레이션에서의 Pioneer(좌측), 실제 Pioneer제품들(중, 우측)

Microsoft社에서 주관 KIA 후원의 MSRDS를 이용한 시뮬레이션 자동차 미션 수

행 경진대회도 열렸다. 또한 Microsoft社에서는 Robochamps라는 국제대회를 만들

어 매년 다양한 로봇을 대상으로한 시뮬레이션 대회를 열고 있으며, Imaginecup에

서도 역시 로보틱스 분야를 따로 개설 2009년부터 대회를 진행하고 있다. 이와 같

은 대회 및 업체들에 의한 서비스 개발을 통해 MSRDS는 많은 이들에게 널리 알

려져 있으며, 점차 많은 이들이 로봇 개발의 툴로서 활용 접근하고 있다. 아래 그림

3.4.4는 KIA 후원의 자동차시뮬레이션 대회와 Robochamps에서의 화성탐사 시뮬레

이션의 모습이다.

Page 75: R-2007-2-059_인하대 이영삼_중기.hwp

- 74 -

그림 3.4.4 KIA 후원의 자동차시뮬레이션 대회(좌), Robochamps의 화성탐사

시뮬레이션(우)

5. MSRDS을 이용한 콘텐츠 구현

본 연구는 중저준위 방사능 폐기물 저장창고(이하 방폐장)를 모델로 진행되었기

때문에, 그에 근거한 시뮬레이션 환경을 정해야 한다. 국내에는 고리, 영광, 월성,

울진 등 4군대에서 원자력 발전소가 위치해 있다. 이중 직접 방문해서 현장 답사를

한 월성 원자력 발전소의 중저준위 방사능 폐기물 저장창고를 모델로 시뮬레이션

환경을 구성하였다.

방폐장은 원자력 발전소 작업자들이 사용하는 의류 및 소도구들을 폐기 대상으로

하며, 이는 방폐장에 비치되었다가 일정기간 보관한 후 고준위 방사능 폐기물 저장

창고로 옮겨 영구 폐기된다. 그림 3.4.5와 그림 3.4.6은 ITS-TV 뉴스의 자료로써 월

성원자력 발전소의 방폐장의 외부와 내부의 모습을 나타낸다. 그림 3.4.5는 월성 방

폐장의 외부 모습이다. 방폐장의 입구는 그림과 같이 두꺼운 미닫이 식 강철 자동

문으로 2중으로 구성 되어있고 내부는 약 356평의 크기로 구성되어 있다.

그림 3.4.5 월성 중저준위 방사능 폐기물 저장창고 외부 모습

내부는 아래 그림 3.4.6에서처럼 은색 드럼통과 노란색의 드럼통으로 나뉘어져 다수

의 드럼통을 쌓아 올렸다. 드럼통은 파레트 위에 적재되어 지게차로 관리되어 진다. 본

시뮬레이션에서는 노란색 드럼통과 파레트를 이용하여 구성되었다. 노란색 드럼통의

규격은 일반 드럼통의 규격과 같은 180L의 직경 56cm, 높이 90cm로 이루어져 있다.

Page 76: R-2007-2-059_인하대 이영삼_중기.hwp

- 75 -

그림 3.4.6 월성 중저준위 방사능 폐기물 저장창고 내부 모습

로봇은 알류미늄 프레임으로 구성되어 있으며, 카메라포함해서 가로 74cm, 세로

74cm, 높이 74cm로 있다. 무게는 약 120Kg으로 이루어져 있다. Maxon社의 DC모

터를 사용하였으며, 4륜 전륜 구동 및 회전으로 이동 시저리프트로 카메라를 3m까

지 올릴 수 있는 구조로 이루어져 있으며, 시저리프트 끝에는 카메라가 장착되어

있어 좌우 180°로 회전하여 주변의 상황을 촬영할 수 있는 구조로 되어 있다. 사진

기는 CANON EOS-1000D 로 방폐장 드럼통을 촬영하기 위해 위치하고 있다. 자율

이동을 위해 24V 10AH의 EM-24100 배터리를 2개 사용 하였다. 또한 8개의 모터

드라이버가 위치해 있다. 아래 그림 3.4.7은 실제 개발된 모바일 로봇이다.

Page 77: R-2007-2-059_인하대 이영삼_중기.hwp

- 76 -

그림 3.4.7 개발된 로봇 모델

6. MSRDS Simulation

구현한 시뮬레이션은 크게 Dsshost, Visual Simulation Environment, Dashboard,

Sensorform, RobotInfo 이렇게 5개로 구분된다. Dsshost는 각종 서비스를 연결해주

는 가상 서버의 역할을 담당한다. Visual Simulation Environment는 구현된 3D 모

델 및 환경을 보여 준다. Dashboard는 GUI로 시뮬레이션의 로봇을 컨트롤 하거나

Data정보를 받아 볼 수 있다. Sensorform은 로봇이 시뮬레이션 환경에의 가상의 방

사능 수치나, 온도, 습도를 받아 그래프 형식으로 출력해 가상의 방폐장을 모니터링

할 수 있다. RobotInfo는 시뮬레이션 환경에서의 로봇의 위치 정보를 받아 보거나

위치를 이동시킬 수 있다. 또한 실제 로봇과 연동할 수 있도록 구성되어 있다. 이에

Dashboard에서 컨트롤 하면 실제 로봇과 시뮬레이션 환경의 로봇이 같이 움직이는

것을 확인할 수 있다.

본 시뮬레이션은 월성 원자력 발전소의 방폐장을 모델로 시뮬레이션 환경을 구축

하였다. 실제 건물은 언덕위에 위치하고 있었던 점을 감안하여 건물을 위치 시켜

실제와 비슷한 환경을 구축하려 하였다. 건물의 크기는 가로 20m, 세로 40m, 높이

8 m로 약 450평 크기이며 지름 60cm, 높이 90cm 크기의 드럼을 한 개의 파fp트에

4개씩 3층으로 적재, 한 줄에 44개의 드럼통이 배치, 총 12줄로 528개의 드럼통을

배치하였다. 아래 그림 3.4.8은 시뮬레이션에서의 중저준위 방사능 폐기물 저장창고

의 모습이다. 그림 3.4.8에서 건물의 2층 부분에 KESRI라는 마크는 임의로 삽입하

였다. 실제 건물이 위치한 언덕은 아스팔트로 된 길로 이루어져 건물 앞까지 아스

팔트가 깔려 있다. 건물의 2중 자동철문은 열어 놓은 상태로 구성하였다.

Page 78: R-2007-2-059_인하대 이영삼_중기.hwp

- 77 -

그림 3.4.8 시뮬레이션에서의 중저준위 방사능 폐기물 저장창고

방폐장에서 사용된 드럼은 그림 3.4.9와 같이 하나의 파레트 위에 4개의 드럼통을

쌓아 3층으로 적재 하여 구성하였다. 드럼통의 앞에는 방사선 마크를, 반대편에는

경고 문구 및 그림을 삽입 하였다. 드럼에 실제와 마찬가지로 봉인 철 띠를 둘러

사실감을 높였다.

Page 79: R-2007-2-059_인하대 이영삼_중기.hwp

- 78 -

그림 3.4.9 시뮬레이션에서 사용된 드럼

그림 3.4.10은 시뮬레이션에서 배치된 드럼통의 모습을 보여 주고 있다. 실제 방

폐장에서는 열거 형식으로 배치되었지만 시뮬레이션에서는 이렇게 열의 형태로 드

럼을 배치한 이유는 관리상의 이유에 있다. 드럼의 유출 혹은 드럼의 이상여부를

확인하기 위해서는 그림 3.4.10에서처럼 행으로 늘여 놔야 한다. 이렇게 늘어져 있

는 드럼 사이를 로봇이 이동하면 사진을 찍어 관리자에게 보낸다. 관리자는 이러한

사진을 통해 드럼의 이상 유무를 판단하게 된다.

그림 3.4.10 방폐장에 배치된 드럼의 모습

로봇은 그림 3.4.11과 같이 구현하였다. 실제 로봇에는 없는 SICK社의 Laser

Range Finder(이하 LRF)가 달려 있다. 이는 시뮬레이션 환경에서 다른 연구를 위

해 추가적으로 붙여 놓은 것이다. 그림 3.4.11에서 로봇에서 남색으로 이루어진 것

이 모터 드라이브 이며, 그 아래 짙은 회색으로 이루어진 상자가 배터리이다. 남색

Page 80: R-2007-2-059_인하대 이영삼_중기.hwp

- 79 -

의 모터 드라이브 양옆에는 녹색으로 이루어진 센서가 위치하고 있다. 이는 실제

로봇이나 시뮬레이션에서 구현되지 않은 기능이다. 추후 구현할 예정으로 미리 달

아 놓았다. 그림 3.4.11에서는 카메라를 제외한 로봇의 모습을 3D로 구현 모습이다.

그림 3.4.11 카메라를 제외한 로봇의 3D 구현 모습

아래 그림 3.4.12는 방폐장 건물에 적용된 물리엔진의 모습을 보여 준다. MSRDS

에서는 2가지의 모드로 Object에 물리 엔진을 적용 할 수 있게 한다. Object에 간단

한 형태로 물리 엔진을 적용하여 유동형태로 만들 수 있는 Simplified Convex Me

sh Environment Entity와 실제 모습 그대로 물리 엔진을 적용하나 움직일 수 없는

상태로 고정되는 Triangle Mesh Environment Entity이렇게 2가지 모드이다[18].

그림 3.4.12 방폐장 건물에 적용된 물리엔진의 모습

Page 81: R-2007-2-059_인하대 이영삼_중기.hwp

- 80 -

위 그림 3.4.12에서 위의 그림은 Visual Simulation Environment에서 기본으로 설

정되어 있는 Visual Rendering Mode의 모습이며, 그림 3.4.12의 아래 그림은

Physics Rendering Mode에서의 모습이다. 붉은 색의 선으로 이루어진 물리 엔진이

잡혀 있음을 볼 수 있다. 그림은 설명을 위해 언덕과 로봇 드럼을 제거한 모습이다.

보는 봐와 같이 건물은 바닥의 중심좌표 바로 뒤에 위치하고 있다.

드럼도 위와 마찬가지인 Triangle Mesh Environment Entity를 이용해서 구현되

어 있다. 이렇게 생성하게 되면 많은 Rendering을 요구하기 때문에 컴퓨터에 많은

부하가 걸린다. LRF를 사용하기 위해서는 object각각의 특성이 드러나야 하기 때문

에 부하가 걸리더라도 이와 같은 구성을 할 필요성이 있다.

로봇은 유동적으로 이동해야 하며, 각부의 물리엔진이 적용되어야 하기 때문에

이와 같은 방식으로 구성할 수 없다.

그림 3.4.13 로봇에 적용된 물리엔진의 모습

로봇은 각각의 속성을 가지는 다수의 박스 및 바퀴의 속성을 가지는 Box Entity

와 Wheel Entity를 사용하였다. 이러한 object는 Joint속성을 이용하여 연결해 주었

으며, 선형적 이동이 필요한 카메라 지지대 및 시저리프트 암을 지지하는 부분에

Joint Linear Properties를 사용하였다. 이를 통해 시저리프트는 물리엔진에 의해 유

동적으로 움직인다.

시뮬레이션의 배경은 크게 하늘과 땅, 태양, 카메라로 나뉜다. 바닥에 수평으로

생성된 것이 바로 땅이다. 그림 3.4.14에서 우측 모습이 땅에 물리엔진이 적용된 모

습을 보여 주고 있다. 여기서 지평선을 제외한 3개의 직선이 교차하는 한 점이 바

Page 82: R-2007-2-059_인하대 이영삼_중기.hwp

- 81 -

로 원점(0,0,0)이 된다. 이러한 땅은 끝없이 이어져 있다. 하나의 가상의 땅을 생성

한 것이다. 하늘은 텍스처를 입힌 구형태의 모습이다. 하늘역시 끝이 없다. 태양은

생성하기 나름이다. 2개도 생성이 가능하다. 본 시뮬레이션에서는 1개의 태양만을

생성해 사용하고 있다. 카메라는 시작점으로부터 x축으로 0m, y축으로 5.63m, z축

으로 10.19m 거리 만큼에 위치하고 있으며, 시점은 y축으로 -20°,z축으로 -140°만큼

회전되어 있는 상태이다.

그림 3.4.14 시뮬레이션 환경

시뮬레이션은 그림 3.4.15의 좌측과 같은 좌표계를 사용한다. 최초 생성시 그림

3.4.15의 우측과 같은 바닥의 0,0,0을 기준으로 좌표계가 적용된다.

그림 3.4.15 시뮬레이션의 좌표계

Dsshost는 MSRDS에서 없어서는 안 되는 중요한 존재이다. Dsshost는 각종 서

비스들을 연결해주며, 각종 통지코드를 서로의 서비스들에게 전달해주는 역할을 한

다. Dsshost가 먼저 구동된이후에 각종 서비스들이 구동되는 방식으로 구성되어 있

으며, Dsshost가 닫히면 다른 서비스들 역시 모두 닫히는 구조로 되어 있다. 아래

그림 3.4.16에처럼 dsshost는 콘솔창으로 구성되어 있으며, 콘솔창의 text처럼 여러

서비스를 로드하고 있는 것을 볼 수 있다. 이러한 기능덕분에 네트워크가 연결된

컴퓨터라면 어디서든 접속하여 시뮬레이션 서비스를 이용할 수 있다.

Page 83: R-2007-2-059_인하대 이영삼_중기.hwp

- 82 -

그림 3.4.16 Dsshost.exe의 콘솔창

Sensorform은 방폐장에서의 방사능 수치와 온도, 습도를 표시한다. 실제 방폐장

의 방사능의 수치는 0.1mrem이며, 온도는 28-32°, 습도역시 28-32°로 설정하여 랜

덤하게 변하도록 하였다. 방사능의 수치는 0.1-1.0mrem까지 변하도록 하여 시뮬레

이션상에서 드럼에 근접할수록 값이 커지도록 하였다. 그림 3.4.17에서 RadioActivit

y Sensor라고 적힌 그룹박스가 방사능 수치를 나타내고 있다. 그래프에서 녹색으로

이루어진 그리드의 y축 값은 1mrem이며, 붉은색 선은 시간별 방사능의 수치를 보

여 주며, 이동 시간에 따라 방사능의 수치의 변동을 꾸준히 보여 준다. CurrentSens

orValue로 표시된 Text옆의 0.764..의 수치가 현제 들어온 방사능의 수치를 표시해

주는 부분이다. 방폐장의 특성상 건물을 나가는 순간 일정 방사능 수치인 0.01mrem

으로 표시되며, 방폐장의 드럼과 근접할수록 1.0mrem에 근접한 값을 볼 수 있다. T

emperate sensor, Humidity sensor 그룹박스역시 위와 동일한 형태로 구성되어 있

다.

Page 84: R-2007-2-059_인하대 이영삼_중기.hwp

- 83 -

그림 3.4.17 Sensorform

아래 그림 3.4.18의 RobotInfo는 시뮬레이션의 좌표값 참조와 좌표이동, 실제 로봇

과의 연동을 고려하여 만들어진 시뮬레이션을 시험하기 위해 필요한 창이다. 그림

3.4.18의 위쪽 그림에서 빨간색으로 된 박스의 OpenDevice를 클릭하게 되면 실제

로봇과 연동된다. Position X, Position Y, Position Z은 시뮬레이션 상에서의 로봇

의 좌표를 가져온다. 그 옆의 X,Y,Z는 시뮬레이션의 로봇이 이동하고자하는 위치를

나타낸 것이다. 그림 3.4.18의 2번의 ok버튼을 클릭하면 X,Y,Z에 반영된 위치 좌표

값을 받아 로봇을 해당 위치로 이동시킨다.

Page 85: R-2007-2-059_인하대 이영삼_중기.hwp

- 84 -

3.4.18 RobotInfo 창

그림 3.4.18의 하단의 그림의 1번을 보면 CloseDevice는 실제로봇과 serial로 연결

되어 있는 링크를 끊어 로봇제어를 중단하게 된다. InitDevice는 실제 로봇에서 에

러가 발생되면 클릭하여 초기화 시켜주는 기능을 한다. 3번의 VelocitySetting은 원

하는 로봇의 바퀴의 속도를 주어 바퀴 동작 시험을 하기 위한 박스이다.

FRLVelocity는 FrontRightLeg Velocity라는 뜻이다.

마지막으로 Dashboard는 유저가 시뮬레이션을 조종할 수 있도록 만들어진 GUI

이다. Dashboard에서는 로봇의 다양한 정보 및 로봇을 제어 할 수 있도록 만들어져

있다.

그림 3.4.19 Dashboard

Dashboard는 Microsoft社의 Xbox용 유무선 컨트롤러를(아래 그림 3.4.20) 지원한

다. 그림 3.4.19에서 ①은 컨트롤에 사용할 Device를 선택하는 곳이다. XBox 컨트롤

러나 PlasyStation 컨트롤러 등의 컨트롤러를 선택할 수 있다. 혹은 마우스로 제어

Page 86: R-2007-2-059_인하대 이영삼_중기.hwp

- 85 -

를 하고 싶다면 원안에 십자 모양의 조그 버튼으로 로봇을 제어 할 수 있다. 조그

버튼옆의 트렉바는 로봇의 속도를 조절해 준다.

그림 3.4.20 Xbox의 유무선 컨트롤러

그림 3.4.19의 ②은 접속하고자 하는 컴퓨터를 나타낸다. Machine란에 localhost라

고 입력하고 Connect버튼을 누르면 Dashboard가 실행되어 있는 컴퓨터에 Dsshost

에 접속하여 Dsshost상에 로드된 서비스를 읽어 들여 Service Diretory아래의 박스

에 서비스들을 출력하게 된다. 유저는 박스안의 서비스들을 선택하여 원하는 서비

스를 구동하여 제어하면 된다. 혹시 다른 IP를 가진 컴퓨터에 접속하고 한다면, ‘IP:

포트번호’와 같이 입력을 하게되면 해당 IP를 가진 Dsshost에 접속하여 서비스를

사용할 수 있게 된다. 그림 3.4.19의 ③은 LRF를 시각적으로 나타내 준다. MSRDS

는 시뮬레이션의 LRF와 실제 로봇에 사용되는 LRF모두 지원한다.

Page 87: R-2007-2-059_인하대 이영삼_중기.hwp

- 86 -

그림 3.4.21 Dashboard 안에 있는 Laser Range Finder 박스

위 그림 3.4.21과 같이 LRF 그룹 박스안에서 상단의 3차원으로 보이는 그림은 L

RF에서 들어온 Data를 이용하여 3차원적인 그림으로 표시해 준 것이다. 이때 가운

데 녹색으로 가리키는 곳이 정면에 해당되며 한가운대 부분만 붉은색으로 표시하여

정면이 어디인지를 알려준다. LRF 그룹박스안의 하단의 그림은 LRF에서 들어온 D

ata를 2차원 평면의 형태로 표시해준 그림이다.

위 그림 3.4.19에서 ④의 첫 번째 로봇 그림과 8개의 에디트 박스는 시뮬레이션에

서 로봇의 각 다리의 각과 속도를 표시해 주는 영역이다. 로봇의 다리를 움직이거

나 움직이면 이곳의 수치가 변하게 되어 사용자가 로봇의 상태를 파악할 수 있게

된다. 그림 3.4.19에서 ④에서 FLLeg, FRLeg, RLLeg, RRLeg 트랙바는 로봇의 다

리의 각을 변화 시킬 수 있다. 변화의 양은 0-360°에 이른다. 시저리프트 트랙바는

시저리프트의 높낮이 변화를 줄 수 있다. 변화의 양은 0-3m까지이다. CameraContr

olTrackBar 트랙바는 시저리프트에 달려 있는 카메라의 방향을 조절할 수 있다. 변

화의 양은 0-180°이다. 마지막으로 나오는 그림은 시뮬레이션의 카메라에서 찍힌

이미지를 보여준다.

아래 그림 3.4.22에서는 시저리프트 트랙바를 통한 시저리프트의 높이 변화를 보

여준다.

Page 88: R-2007-2-059_인하대 이영삼_중기.hwp

- 87 -

그림 3.4.22 시저리프트 높이 변환

그림 3.4.22에서 상단은 시저리프트가 올라가기 전 상황 이며, 하단은 시저리프트

가 올라간 상황이다. 상단과 하단의 카메라를 통해 들어온 그림의 높이 차가 나는

것을 볼 수 있다. 빨간색의 박스로 된 부분을 주의하여 비교해 보면 쉽게 파악할

수 있다.

아래 그림 3.4.23에서 Camera Control Track Bar의 조정을 통한 카메라의 움직임

이다. 빨간색의 박스로 된 부분을 주의하여 비교해 보면 쉽게 파악할 수 있다.

Page 89: R-2007-2-059_인하대 이영삼_중기.hwp

- 88 -

그림 3.4.23 카메라의 회전

Page 90: R-2007-2-059_인하대 이영삼_중기.hwp

- 89 -

제 5 절 한 대의 카메라와 Fiducial 마커를 이용한 SLAM

1. 개요

로봇이 자기 위치를 인식하기 위해서는 주행거리계 등의 내부 상태를 이용하는

한편 외부의 환경도 인식하여야 한다. 즉, 위치 추정과 지도 작성을 동시에 해야한

다. 이러한 동시간 위치추정 및 지도작성(Simultaneous Localization and Mapping)

문제는 축약하여 SLAM [19],[20]이라 하며 이동로봇 연구자들 사이에서 중요한 연

구 주제로서 논의되어 왔다. SLAM은 이동로봇에 자율이동 능력을 부여하기 위하

여 위치가 알려지지 않은 랜드마크를 기준으로 로봇의 위치를 인식하고 주어진 환

경에 대한 지도를 작성하는 문제로 정의할 수 있다.

최근 비전 기반의 SLAM은 영상에서 안정한 특징점들을 랜드마크로 사용하는 것

으로 발전되어 왔다 [20]. 하지만, 이러한 랜드마크를 사용하는 방법의 큰 단점중

하나는 data association 문제이다 [21]. Data association 문제는 현재 관찰된 정보

를 이전에 관찰된 정보와 대응시키는 것이다. 그동안 data association 문제를 해결

하기 위하여 active search [22] 같은 기법이 적용되어 왔다. 그럼에도 불구하고 안

정한 특징점들을 랜드마크로 사용하는 것은 실제로 움직이는 물체가 많은 환경에서

잘 동작하지 못한다. 그것은 움직이는 물체가 잘못된 data association을 유발하기

때문이다.

실내 로봇은 주로 사무실, 집 혹은 건물 내부에서 동작될 것이다. 이는 야외 환경

과 달리, 미지의 환경을 매번 받아들여야 할 필요가 없음을 의미한다. 움직이는 경

로도 일정하고 반복적일 것이다. 또한 사람과 같은 움직이는 물체는 항시 존재할

것이다. 그러므로 앞에서 언급한 방법인 영상내에서 특징점을 추출하여 이를 이용

하는 것 보다, 움직이며 복잡한 배경 가운데서 분리해내기 쉬운 인공 랜드마크 를

이용하는 것이 더 강건한 결과를 제공 할 것이다. 본 연구에서 사용하는 인공 랜드

마크는 fiducial marker이다. Fiducial marker는 검은색과 흰색만 가지는 사각형의

코딩된 패턴으로 그림 3.5.5와 같다.

기존에도 비전 기반의 인공 랜드마크를 이용하는 실내 위치인식 방법은 활발히

연구되어 왔다 [23]. 하지만 기존의 방법은 랜드마크의 위치를 맵으로서 사전에 저

장하고 있어야 했다. 이것은 곧 로봇의 위치인식을 위해서 사전에 정교한 측정작업

이 수반되어야 함을 의미한다. 이러한 작업은 공간이 넓어질수록 수행되기 어려워

진다. 또한 측정의 정확도가 위치인식의 정확도에 지속적인 영향을 주게 된다. 이렇

듯, 기존의 연구는 제약사항이 뒤따른다. 그래서 본 연구에서는 사전 교정

(calibration) 작업이 불필요하고 센서가 가지는 불확실성을 위치인식 수행 과정에

포함시키기 위하여 확장 칼만 필터(Extended Kalman Filter;EKF)를 이용하였다. 본

문에서 기술하는 state vector와 EKF를 통하여 랜드마크와 로봇의 위치는 출발점을

원점으로 하는 좌표계 상에서 미터 단위로 추정된다.

Page 91: R-2007-2-059_인하대 이영삼_중기.hwp

- 90 -

본 연구에서는 fiducial marker와 한 대의 카메라를 이용한 실내 위치인식 방법을

제안한다. 제안한 방법은 디지털 부호화(coding)가 되어 있는 fiducial marker를 이

용하여 data association문제를 간단하게 한다. Fiducial marker는 이미지 정보 속에

서 fiducial marker를 찾아내기 쉽게 하도록 여러가지 영상기술이 포함된 일종의 패

턴이다(그림 3.5.5 참조). 이로 인하여 영상 프레임간의 data association이 간단해지

는 장점이 있다. 또한 제안한 방법의 fiducial marker는 역반사(retro reflective) 성

질(그림 3.5.4 참조)을 가지는 투명 형광 도료로 탑재 될 수 있기 때문에 사람이 보

는 환경의 변화를 최소화하여 위치인식을 수행 할 수 있는 장점이 있다.

(a) Probabilistic map (b) Location estimation framework.

그림 3.5.1 [20]의 MonoSLAM

본 연구는 준-미지(quasi-unknown)의 환경 하에서 정확한 위치인식을 수행하기

위한 이론과 모의실험 결과를 기술한다. 미지의 환경이란 기존의 환경에 아무런 변

화를 가하지 않은 상태를 말한다. 반대로 의도된 환경은 초음파 위성이나 랜드마크

의 설치가 이루어 진 상황을 말한다. 하지만 본 연구에서 정의하는 준-미지의 환경

은 랜드마크를 보이지 않게 탑재 할 수 있으며 탑재를 하더라도 그 랜드마크의 위

치를 측정할 필요가 없으며 무작위로 설치해도 되는 환경을 의미한다.

본 절의 구성은 다음과 같다. 2에서는 관련 연구에 대하여 소개하고 본 연구에서

제안하는 방법의 장점에 대해서 설명한다. 3에서는 제안하는 fiducial marker 기반

의 SLAM 방법에 대하여 구체적으로 기술한다. 그동안의 연구와 본 연구의 차이점

에 대하여 기술하고 독창성과 차별성에 대하여 설명한다. 또한 Gaussianity 검증을

통하여 EKF의 적용 가능성에 대하여 기술한다. 랜드마크와 로봇의 상태를 SLAM

framework에서 이용 할 수 있는 형태로 기술하는 방법에 대하여 설명한다. fiducial

marker를 측정치로 이용하는 과정을 기술한다. fiducial marker의 위치를 추정하는

방법에 대해서 기술한다. 통합된 framework 상에서 랜드마크와 로봇의 위치를

extended Kalman Filter(EKF)를 이용한 추정방법에 대하여 소개한다. 랜드마크 정

보를 관리하는 전략에 대하여 설명한다. 4에서는 제안된 방법을 컴퓨터 모의실험을

통하여 수행한 결과를 제시한다. 비전 센서가 있는 경우와 없는 경우로 나누어 실

험한 결과를 비교하였다. 그리고 5에서 결론을 맺는다.

2. 관련연구

그 동안 랜드마크 기반의 위치인식 연구는 일반적으로 삼각 측량법을 사용하고

Page 92: R-2007-2-059_인하대 이영삼_중기.hwp

- 91 -

있다. 삼각 측량법은 알고있는 고정 물체에 대한 방위각(bearings)을 측정하여 자신

의 위치를 알아내는 것이다. 대표적인 연구로는 [24],[25],[26]이 있다. [24] 에서는

"fish-eyed" 카메라를 이용하여 주변 영상을 한번에 취득한다. 취득한 영상에서 찾

아낸 랜드마크의 방위각을 알아내어 삼각측량법으로 현재 위치를 알아낸다. [25] 에

서는 n개의 랜드마크 들이 위치가 알려진 상태에서 각 랜드마크 들과의 방위각 관

계로 부터 로봇의 현재 위치를 구하는 이론을 제시하였다. 제시된 이론은 계산량이

적은 장점이 있다. [26] 에서는 평면체 랜드마크를 이용하여 위치인식을 수행한다.

이 연구에서는 랜드마크를 기계학습(machine learning)을 통하여 학습 시킨 후 랜드

마크의 위치를 미리 알고 있는 상태에서 위치인식을 수행한다. 국내 연구로는 인공

랜드마크를 관찰 한 후 삼각 측량법을 응용하여 위치를 추정하는 방법이 있다 [27]

(그림 3.5.2 참조). 이 연구에서는 랜드마크와의 기하관계를 사전에 설정해야 한다.

즉, 랜드마크 번호마다 그 위치를 데이터베이스화 하여 로봇에 저장해야 한다. 설치

후에 랜드마크의 위치를 바꿀때마다 그 데이터베이스를 수동으로 갱신해 주어야 한

다. 앞 단락에서 다룬 내용은 모두 랜드마크의 위치가 의 형태로 알려져 있는

연구이다. 이 같은 형태의 위치인식은 맵을 미리 만들어 두어야 하며 랜드마크의

학습 및 data association 에도 많은 계산량이 따른다. 삼각 측량법이 아닌 한 대의

카메라(monocular camera)를 이용한 SLAM에 대한 연구는 MonoSLAM [20]이 대

표적이다 (그림 3.5.1 참조). MonoSLAM은 corner detector를 이용하여 영상에서 특

징점을 추출하고 이 특징점을 기반으로 SLAM 을 수행한다. MonoSLAM이 한 대

의 카메라를 이용하고 영상에서 특징점을 추출하므로 미지의 공간에서 위치인식을

할 수 있는 장점이 있으나, 움직임이 부드러워야 한다는 가정을 가지고 있다. 따라

서 급격한 이동과 로봇이 충격을 받을 경우 이 후의 위치 추정값은 오차를 가지게

된다.

그림 3.5.2 [27]의 Stargazer

Passive 랜드마크의 위치를 미리

정해주어야만 그에 대한 상대 위치로 로봇의 위치 계산이 가능하다.

영상을 이용하지 않는 연구에는 실내에서 초음파의 도달 시간 차이(Time

Difference of Arrival) 를 이용한 방법 이 있다 [28]. 이 방법은 실내 일정한 곳에 4

개이상의 초음파 발신기를 설치해놓고 로봇에 수신기를 장착하여 초음파 발신기와

의 거리를 측정하고 이를 삼각 측량법을 이용하여 3차원상의 로봇의 위치를 추정하

Page 93: R-2007-2-059_인하대 이영삼_중기.hwp

- 92 -

는 것이다(그림 3 참조). 하지만 이 방법은 발신기와 수신기간의 무선 동기가 필요

하고 거리가 제한적이며 센서간의 기하학적 관계를 미리 설정해주어야 한다. 게다

가 4개의 센서와 로봇과의 거리를 모두 측정하기 이전에 로봇이 움직이게 되면 추

정 정확도가 낮아진다. 한 대의 로봇 개체가 위치 인식을 하기 위해서는 일정 공간

내에 4개 이상의 초음파 발신기를 설치해야하고 이들 발신기에 전원을 공급해 주어

야 한다. 또한 온도와 기상상황에 따라 위치 정밀도가 변하게 된다.

그림 3.5.3 [28]의 U-Sat

초음파 위성 4개와 수신기 1개로 구성되어 있다. 초음파 위성에는 전원이

공급되어야 한다.

본 연구에서는 한 대의 카메라를 이용하여 영상정보를 기반으로 로봇의 SLAM

문제를 해결한다. 영상은 data association 문제를 해결하는데 많은 어려움이 있다.

조명, 시점에 따른 영상 변형에 대한 문제와 번짐, 급격한 이동에 따른 영상 왜곡으

로 인하여 많은 고려가 필요하다. 따라서 본 연구에서는 fiducial marker [29]를 이

용하여 data association 문제를 해결한다. Fiducial marker의 형태는 그림 3.5.5에

나타나 있다. 본 연구에서 제안하는 fiducial marker 기반의 한 대의 카메라를 이용

한 SLAM 의 장점을 요약하면 다음과 같다.

Ÿ 기존의 인공 랜드마크나 초음파를 이용한 실내 위치인식 방법 [27],[28] 과 달리

사전에 기하학적 정보를 조사하는 사전 교정(calibration)과정이 생략된다.

기존의 초음파를 이용한 실내 위치인식이나 인공 랜드마크의 알려진 기하학적 관

계를 통한 위치 추정의 경우 사전에 센서들을 어떻게 설치 할 것인지 정하고 그 정

Page 94: R-2007-2-059_인하대 이영삼_중기.hwp

- 93 -

보를 로봇 데이터베이스에 입력을 시켜야 했다. 그리고 로봇은 이를 기반으로 위치

추정을 수행한다. 이러한 경우 구조가 바뀔 때마다 데이터베이스를 일일이 갱신 해

야한다. 이는 상당히 오랜 시간과 노력을 요구하며 곧 비용으로 이어진다. 하지만

본 연구에서 제안하는 방법의 경우 이와 같은 작업은 수행할 필요가 없게 된다.

Ÿ 최소 한 개의 랜드마크가 영상에서 관찰 되더라도 위치 추정이 가능하다.

한대의 카메라와 한 장의 영상에서 추출된 특징점을 이용하는 SLAM의 경우 하

나의 특징점에서 바로 그 특징점의 좌표를 추출해 낼 수 없다. 그 특징점은 여러

시점에서 관찰되어야만 한다. 하지만 본 연구에서 제안하는 fiducial marker는 한

프레임에서 하나가 관찰 되더라도 바로 랜드마크의 좌표를 추출해 낼 수 있다. 따

라서 한 영상 안에서 하나의 랜드마크만 관찰 되더라도 위치인식을 수행 할 수 있

으므로 환경의 영향을 덜 받는다. 물론, 다수의 랜드마크가 관찰되는 경우에 비하여

그 정확도는 낮아진다.

Ÿ 장치 탑재를 최소화 할 수 있으며 손쉽게 설치 할 수 있다.

[28]의 경우 송/수신기에 전원이 필요하므로 전원 관리 및 배선 문제가 발생한다.

제안한 방법은 랜드마크에 전원을 공급 할 필요가 없으며 또한 한 대의 카메라가

영상을 통하여 SLAM을 수행하기 때문에 별도의 배선이 필요 없다. 제안된 방법은

출력된 랜드마크를 무작위로 설치하더라도 위치인식 기능을 수행하기 때문에 설치

가 쉽다. 게다가 fiducial marker는 역반사형(retro reflective) 도료나 잉크를 통하여

사람의 눈에 띄지 않도록 설치 될 수 있다 [30]. 그림 3.5.4 는 역반사형 도료를 이

용한 투명 fiducial marker를 나타내고 있다.

Page 95: R-2007-2-059_인하대 이영삼_중기.hwp

- 94 -

(a) Visible markers

(b) Invisible markers captured by visible ray camera without IR light

(c) Invisible markers with a IR light

그림 3.5.4 (a)는 레이져 프린터 등을 이용하여 손쉽게 출력 할 수 있는 fiducial

marker의 형태. (b)는 [30]의 retro-reflector를 이용한 보이지 않는 marker. (c)는

IR light를 비춘 경우의 retro-reflective fiducial marker

3. 방법

가. Fiducial marker as a landmark

본 연구에서는 특징점 모델로서 fiducial marker를 사용 하는 방식을 제안한다.

본 연구에서 사용하는 fiducial marker는 그림 3.5.5와 같은 형태를 가진다 [31].

Fiducial marker는 한번의 관찰로 3차원 좌표를 알아내기 위한 사각형 테두리상의

네 꼭지점과 각각의 marker를 식별하기 위한 식별 코드로 구성된다. 4개의 꼭지점

은 카메라 좌표계를 기준으로 fiducial marker의 자세를 추정하는데 필요한 정보를

Page 96: R-2007-2-059_인하대 이영삼_중기.hwp

- 95 -

제공한다. 즉, 3차원 공간상의 pose matrix를 알아내기 위하여 fiducial marker상의

4개의 점을 활용한다. 이 네 꼭짓점은 배경과 쉽게 구분되어 특징점으로 추출이 용

이하고 그 기하학적 관계가 미리 정해져 있어 이 관계를 이용하여 카메라를 기준으

로 한 marker 중심의 좌표를 marker를 촬영한 한 장의 영상으로부터 구할 수 있다.

그림 3.5.5 본 연구에서 사용하는 fiducial marker의 형태

검은 사각형틀 안의 문양은 marker의 식별번호를 의미한다.

식별 코드를 인식하는 방법에는 템플릿 매칭을 이용한 방법 [32] 과 디지털 신호

처리를 이용한 방법 [29] 이 있다. 템플릿 매칭을 이용한 방법은 bit수에 제한되지

않는 장점이 있으나 인식률이 낮고 오류가 높은 단점이 있다. 디지털 신호처리를

이용한 방법은 대체로 수bit 를 할당 하여 일정한 수 범위 내의 marker를 숫자로서

인식 할 수 있고 오류 정정 코드를 삽입하여 인식률을 높일 수 있다. 본 연구에서

는 디지털 신호처리를 이용한 방법을 사용한다.

그 동안 fiducial marker를 이용한 연구에는 ARToolKit [32], ARTag [29],

ARToolKitPlus [33]가 있다. 이 연구들은 증강현실 (augmented reality)의 실현을

위하여 카메라의 자세를 추정하는 목적으로 fiducial marker를 사용하였다. [34]에서

는 이러한 fiducial marker 시스템 간의 성능 우위에 대하여 분석하였다. 증강현실

은 한 개 혹은 다수의 fiducial marker를 사용하여 3차원 객체와 카메라 영상의 시

점을 동기화하는 것으로 정의 할 수 있다. 이들 연구는 fiducial marker를 tracking

용도로만 사용하였다. 따라서 본 연구와 달리 다수의 fiducial marker 에 대하여 전

역 좌표계를 기준으로 한개의 fiducial marker의 위치를 알아낼 수 없다. 또한 관찰

자의 절대위치를 파악할 수 있는 framework을 갖추고 있지 않다. 즉, 2m 내외의

공간에서 3차원 객체의 시점동기를 위하여 fiducial marker를 사용하였다.

Fiducial marker를 이용하여 위치인식을 수행하고자 한 대표적인 연구로는 [30]

Page 97: R-2007-2-059_인하대 이영삼_중기.hwp

- 96 -

이 있다. [30]에서는 다수의 fiducial marker를 이용하여 실내 위치인식을 시도하였

다. 하지만 [30]의 연구는 fiducial marker의 tracking에서 발생하는 오차를 확률적

으로 해석하지 않았으며 관찰자의 위치는 특정 fiducial marker를 기준으로 하는 좌

표계를 사용하고 있다. 따라서 기준이 되는 fiducial marker의 측정치에 불확실성이

개입될 경우 모든 위치인식에 오차가 누적될 수 있다.

본 연구는 fiducial marker를 이용한 SLAM framework을 제안한다. 기존의 위치

인식(localization) 방법은 [30]와 같이 알려진 기하조건을 이용해왔다. 이 같은 방법

은 위치인식 방법을 실현하기 위하여 번거로운 측정 작업을 수반할 뿐만 아니라 변

경이 용이하지 않다. 또한 기존의 SLAM은 고가의 Laser Range Finder를 이용하는

한편 프레임간의 data association을 해결하기 어려웠다 [21]. 따라서 움직이는 물체

가 존재하는 곳에서 SLAM을 수행하기 어려웠다. 본 연구에서는 이 두가지 측면을

고려하여 혼합한 방법을 제안한다.

Fiducial marker는 그 생김새와 특징으로 인하여 다양하고 복잡한 배경 영상에

위치하더라도 쉽게 인식이 가능한 장점이 있다. 또한 표면에 인쇄된 디지털 바코드

와 유사한 식별코드로 인하여 data association이 매우 쉬워진다. 기존의 위치인식

방법은 하나의 fiducial marker를 기준으로 하는 상대좌표로서 관찰자의 위치를 결

정하는 한편 확률적 해석 없이 위치를 결정하므로 센서의 오차에 대한 처리가 미비

하며 오차가 누적된다. 하지만 본 연구는 SLAM framework을 fiducial marker와

결합하고 이에 따른 센서모델을 제안함으로서 fiducial marker를 Bayesian 추정 기

반으로 해석할 수 있도록 한다. 이에 따라 위치 정확도는 높아지며 카메라 센서로

인한 잡음 및 오차를 모델링 하여 줄일 수 있다.

□ Gaussianity Test

EKF는 불확실성이 unimodal인 가우시안 분포를 이루어야만 적용 할 수 있다. 따

라서 EKF를 적용하려는 센서가 가우시안 분포를 가지는지 확인할 필요가 있다. 본

연구에서는 EKF의 적용에 앞서 제안한 센서 모델이 가우시안 분포를 이루는지 실

험해 보았다.

Page 98: R-2007-2-059_인하대 이영삼_중기.hwp

- 97 -

그림 3.5.6 Gaussinity 검증 실험 환경

그림 3.5.7 Sensor에 대한 오차 히스토그램

실험 환경은 그림 3.5.6 에 나타나 있다. 일정 거리를 물리적으로 설정 한 후 그

거리를 센서를 통하여 관찰하였다. 그 리고 이에 대한 히스토그램을 그리고 그 분

포를 시각적으로 살폈다. 설정된 거리는 420mm 이고 이에 대한 히스토그램은 그림

3.5.7 와 같다.

실험 결과 카메라 센서는 가우시안 잡음 분포를 가지고 있었다. 표준편차 3.8219

이고 평균은 0 인 unimodal 특성을 가지므로 EKF를 적용 할 수 있다고 판단하였

다.

나. Robot and landmark models-Joint SLAM vector

Step k에서 로봇의 동적 모델과 랜드마크의 위치에 대한 joint SLAM 벡터를 다

음과 같이 정의한다.

(3.5.1)

Page 99: R-2007-2-059_인하대 이영삼_중기.hwp

- 98 -

(3.5.2)

상태벡터 은 k 번째 step 에서 로봇의 상태 과 n 개의

인 랜드마크 집합 로 구성된다. 즉,

(3.5.3)

식 3.5.3이다. 로봇에 대한 입력 벡터는 이며, 은

이고 이다. 공분산 는 모델링 되지 않은 로봇의 동적 모델과 시스

템 잡음을 표현한다. 측정값 에 대한 설명은 Remark 1에 나타나 있다. 함수

은 로봇의 동적 모델을 표현하는 비선형 식이다. Gaussian

random 벡터 은 비선형 측정모델 의 부정확성 그리고

측정 잡음을 모델링 한다. 는 의 공분산을 가진다. SLAM 에서

k-th step 까지 관찰된 모든 랜드마크 의 관찰 정보 는 사후

추정(a posterior) 상태 를 추정하기 위하여 사용된다. 함수 는 전역 좌

표계를 기준으로 저장된 map vector 가 로봇이 이동함에 따라 변하는 로봇

상태벡터 에 따라서 관찰된 것으로 예상되는 추정 측정치 ( )를 예측하

기 위하여 사용하는 함수로 식 3.5.4와 같다.

(3.5.4)

즉, 추정 측정치 는 실제 측정이 이루어지기 전, 로봇의 이동량에 따라 바뀌

었을 것으로 예상되는 map vector 에 대한, 로봇 기준 좌표계에서의 좌표이다.

카메라를 통하여 실제 관찰한 측정치 는 추정 측정치 와 차이를 보일 것

이며 이는 EKF의 Kalman 이득에 곱해져 사후 추정치를 얻게 된다.

다. Measurement model of fiducial marker

본 연구에서 제안하는 fiducial marker 기반의 SLAM은 한대의 카메라만으로도 3

차원 공간상의 특징점의 로봇 좌표계 기준으로의 유클리디안 좌표를 상태의 지연

없이 알아낼 수 있는 장점이 있다. 상태의 지연이 없다는 것은 한 프레임만 가지고

도 알아낼 수 있는 것을 의미한다. 즉, 지연이 있다는 것은 여러 프레임을 관찰해야

만 유클리디안 좌표를 얻어낼 수 있는 것을 의미한다. Fiducial marker를 이용하면

로봇을 기준으로 하는 특징점의 3차원 좌표를 관찰 즉시 알아 낼 수 있다. i 번째

Page 100: R-2007-2-059_인하대 이영삼_중기.hwp

- 99 -

랜드마크에 대한 측정값을 라고 하면 는 로봇의 위치를 원점으로 하

는 로봇 기준 좌표계에서 정의된다. -th step 에서 SLAM state vector

에 포한되어 있는, 전역좌표계를 기준으로 랜드마크 mi의 좌표를 ( , , ),i i im m mx y z

robot 좌표를 라 하면 는 다음과 같은 관계를 갖는다.

(3.5.5)

즉, 는 전역 좌표계를 기준으로 저장된 랜드마크의 좌표 를 로봇 기준

좌표계로 변화해주는 함수이다. 이는 예측된 로봇 상태를 이용하여 앞으로 측정될

값의 예측치 를 계산하는데 사용된다. 위 식에서 는 다음과 같다.

라. Fiducial Marker Tracking System

본 절에서는 fiducial marker의 좌표를 측정하는 방법과 측정된 좌표가 어떻게

SLAM에 이용되는지 설명한다. 카메라를 기준으로 하는 카메라 좌표계는

를 좌표로 가지며 fiducial marker의 중점을 기준으로 하는 fiducial

marker좌표계 를 좌표로 가진다. 두 좌표계간의 관계는 그림 3.5.8에

나타나 있다. Fiducial marker 좌표계로부터 카메라 좌표계로의 변환행렬 은

식 (3.5.6)와 같이 정의된다. 이는 3차원 공간상의 회전요소 와 병진 이동요

소 로 구성된다. 벡터의 끝에 1을 추가한 것은 계산을 행렬로 표현하기 위

한 homogeneous 표현법으로 인한 것이다.

Remark 1: 본 연구에서 제안하는 fiducial marker 기반의 SLAM 은 로봇의 중심을

기준으로 하는 로봇좌표계에서 fiducial marker까지의 거리를 측정값 로 사

용한다. 이 값은 변환행렬 에서 병진 이동요소 와 같다.

Page 101: R-2007-2-059_인하대 이영삼_중기.hwp

- 100 -

그림 3.5.8 Fiducial marker 좌표계와 카메라 좌표계의 관계

(3.5.6)

그림 3.5.9는 좌표 변환행렬 을 구하는 과정을 도시하고 있다. 카메라 좌표

계를 기준으로 fiducial marker의 위치를 기술하기 위해서 변환행렬 을 구하

는 과정을 요약하면 다음과 같다.

Step 1. 그림 3.5.9(a)와 같이 입력된 원본 영상을 그림 3.5.9(b)와 같이 이진화 한다.

Step 2. 이진화를 수행한 후에는 마커를 선별하기 위하여 레이블링을 수행한다.

Step 3. 레이블링된 객체에서 마커를 추출한 후에 그림 3.5.9(c)와 같이 이진 이미지

의 최외곽을 순회하면서 외곽선을 구한다.

Step 4. 추출된 외곽선에서 4개의 꼭지점을 구한다(그림 3.5.9(d)).

Step 5. 추출된 4개의 꼭지점은 영상좌표계 상에서 기술된다. 따라서 식

(3.5.7)과 같이 카메라의 intrinsic 파라미터로 구성된 행렬 의 역변환을 이용하

여 카메라 좌표계 로 변환한다.

Step 6. 카메라 좌표계와 fiducial marker 좌표계의 관계를 기술하는 을 구하

기 위해서 식 (3.5.9)의 평가 함수를 도입하고 파라미터 집합을 식 (3.5.10)과 같이

정의한다.

Step 7. 비선형 최적화 방법 중 하나인 Levenberg-Marquardt 방법을 이용하여 비

용함수 식 (3.5.9)를 최소화 하는 해집합 식 (3.5.10)을 구한다. 보통의 경우 4~5회의

loop에서 미리 정한 threshold값 보다 낮아진다. 이는 카메라로부터 한 프레임을 얻

Page 102: R-2007-2-059_인하대 이영삼_중기.hwp

- 101 -

는데 걸리는 시간보다 빠르므로 실시간 구현이 가능하다.

Intrinsic 파라미터는 영상 좌표계 와 카메라 좌표계의 관계를 기술하는

변환 행렬의 요소이다. 식 (3.5.7)은 영상 좌표계와 카메라 좌표계의 관계를 나타내

고 있다.

그림 3.5.9 을 구하는 과정

그림 3.5.10 Fiducial marker의 좌표계

Fiducial marker는 정사각형이다. Fiducial marker상의 4개의 꼭짓점 값은 Z축의

값이 모두 0인 평면에 위치한다.

(3.5.7)

Page 103: R-2007-2-059_인하대 이영삼_중기.hwp

- 102 -

여기서 는 사전에 카메라 calibration 을 통하여 알고 있는 변환이다. 그림

3.5.10과 같이 fiducial marker의 네 꼭짓점의 좌표는 마커의 중심을 기준으로 각각

, , , 이다. 이를 ,

, ,그리고 로 설정하고 각 fiducial

marker의 네 꼭짓점이 2차원 영상에서 관찰되었을 때의 좌표를 로

하자. 다음으로, 비선형 최적화 방법에 쓰일 초기치를 구하기 위하여 다음의 행렬을

식 3.5.8과 같이 설정한다[35].

(3.5.8)

SVD를 이용하여 를 분해 한 후 얻어진 중 의 가장 마지막

행은 비선형 최적화시 초기값으로 사용된다. 이것은 즉, least square error를 가지

는 해와 같다. 로 정의하였을 때 은 로 얻어진

다. 이는 평면체의 특성으로 인하여 가능하다. 식 (3.5.6)에서 Levenberg-Marquardt

의 방법을 이용하여 최적화된 회전 변환 과 병진 이동 벡터 를 구하

기 위해서 식 (3.5.9)와 같은 평가함수를 도입한다.

(3.5.9)

파라미터 집합은 식 (3.5.10)와 같이 정의한다.

(3.5.10)

파라미터 집합 식 (3.5.10)의 는 회전변환 행렬 3 3´R 를 rodrigues’

formula를 통하여 parameterization된 값이다. 회전변환 행렬 3 3´R 은 9개의 값을

가지지만 실제로는 yaw, pitch, roll ( )의 3자유도를 가진다. 따라서

Levenberg-Marquardt의 방법을 이용하여 비선형 최적화를 하기 위해서는 3자유도

로 parameterization 한 후 이를 다시 9개의 요소를 가지는 3 3´R 로 바꾸어 주어

야 한다.

Page 104: R-2007-2-059_인하대 이영삼_중기.hwp

- 103 -

마. Landsmark and map representation

□ The state vector and its covariance

k-step에서의 로봇 상태벡터 와 의 추정값을 라 하고 그

공분산을 라고 표기한다. 와 는 관찰된 랜드마크에 따라 동적으로 변

하는 벡터와 행렬이다. 즉, 랜드마크가 새롭게 관찰되면 와 는 이전 크기

보다 하나 더 확장된다. 이 행렬들은 다음 식 3.5.11과 같이 구성된다.

(3.5.11)

공분산 행렬 는 로봇과 랜드마크들 간의 확률 관계를 표현한다. 의 크

기가 크다면 은 그 측정치에 대한 신뢰도가 낮은 것을 의미한다.

의 크기가 크다면 해당 은 측정한지 오래 지났거나 적은 횟

수로 관찰되었다는 것을 의미한다. 이는 랜드마크의 삭제 및 추가에 중요한 판단

지표가 된다.

로봇 상태벡터 는 로봇을 가장 잘 묘사하는 변수들로 구성된다. 일반적으로

널리 쓰이는 two-wheeled mobile robot의 경우 로봇은 2차원에서의 위치

와 방위각 으로 구성된다. 만약, 3차원 공간상에서 움직이는 로봇(e.g., 로봇팔)

의 경우 와 수평각 및 수직각 로 구성된다.

바. Motion model

□ Mobile robot platform

본 연구에서 대상으로 하는 시스템은 4개의 바퀴를 가진 모바일 로봇이다. 조향

은 전륜 2륜을 이용하여 하며 후륜 2륜은 고정되어 있다. 모델링에 사용된 로봇은

그림 3.5.11과 같다.

□ Coordinates system

로봇의 최초 위치를 원점( )으로 하는 좌표계를 전역 좌표계라 했을 때 그림

3.5.12는 로봇 기준 좌표계와 전역 좌표계의 상관관계를 나타낸다.

는 전역 좌표계 상에서 랜드마크의 좌표이고 은 로봇 좌표계 상에

서 랜드마크의 좌표를 의미한다. 즉, 는 와 대응되고 은 와

대응된다. 본 연구에서 식 (3.5.5)의 함수 은 의 변환에 해당한다.

Page 105: R-2007-2-059_인하대 이영삼_중기.hwp

- 104 -

(a)

(b)

그림 3.5.11 본 연구에서 대상으로 하는 모바일 로봇((a):실제사진, (b):CAD모델)

그림 3.5.11의 로봇에 대한 기구학 모델은 식 (3.5.12)와 같다. 로봇의 위치는

이다. 제어 입력 는 속도 와 조향각 이다. 이 기구학

모델은 칼만 필터의 예측 단계에서 로봇의 위치를 정하기 위해 사용한다.

(3.5.12)

식 (3.5.12) 에서 는 차례대로 각각 샘플링 시간, 현재 로봇의 heading,

그리고 조향각에 대한 입력이다. L 은 앞바퀴 중심에서 뒷바퀴 중심까지의 거리

(wheel base)를 의미한다.

Page 106: R-2007-2-059_인하대 이영삼_중기.hwp

- 105 -

사. Extended Kalman Filter (EKF) solution of SLAM problem

SLAM 문제는 기구학 모델이 알려진 로봇이 미지의 시작점으로부터 출발하여 특

징점(feature)이나 랜드마크를 지나면서 로봇의 위치와 랜드마크의 위치를 동시에

추정하는 것으로 정의 할 수 있다. 본 연구에서 특징점이나 랜드마크는 동의어이다.

로봇 내부의 상태만을 이용하여 로봇의 위치를 추정하는 문제를 dead reckoning하

는데, SLAM 문제는 기구학 모델에 기반한 dead reckoning과 로봇에 장착된 센서

가 외부 환경을 관찰하여 얻어진 얻은 정보를 이용하여 물리적 불확실성을 확률적

으로 보정하고자 하는 것이다.

그림 3.5.12 로봇의 좌표 개념도

GX

GY

GO

(1)

uk

ˆ ( 1)k

x

ˆ ( ) (dotted)k x1 1

2 2

3 3

ˆ( ) ( )ˆ( ) ( )ˆ( ) ( )

Measurement Error

k kk kk k

z zz zz z

1 ˆ( ) ( ( ),0)Observed Landmarkk k z h x

2 ˆ( ) ( ( ),0)Observed Landmarkk k z h x

2ˆ ˆ( ) ( ( ),0)Estimated Landmark

k k z h x

3ˆ ˆ( ) ( ( ),0)Estimated Landmark

k k z h x

ˆ ˆ ˆ( ) ( ) ( ) ( ) ( )k k k k k x x K z z

3 ˆ( ) ( ( ),0)Observed Landmarkk k z h x

1ˆ ˆ( ) ( ( ),0)Estimated Landmark

k k z h x

그림 3.5.13 EKF의 동작 개념도

SLAM 문제를 확률적으로 해석하는 것은 센서의 불확실성에 근거한다. 일반적으

로 제조된 센서는 정확한 수치값으로부터 일정 범위를 가지는 Gaussian분포를 가진

다. 따라서 이러한 불확실한 센서들의 집합으로부터 타당한 결과치를 예측하는 것

Page 107: R-2007-2-059_인하대 이영삼_중기.hwp

- 106 -

은 확률론을 이용하는 것이 적합하다. 확률론을 도입함으로써 하나의 값이 아닌 일

정 범위를 일정 오차 내에서 다룰 수 있게 된다. 이러한 확률론에 기반하여 불확실

한 값으로부터 의미있는 값을 알아내기 위하여 Kalman 필터가 사용된다. SLAM

에서는 비선형 시스템에 대하여 확장된 Kalman filter(Extended Kalman

Filter;EKF)를 주로 사용한다. 또한 많은 연구들이 EKF를 이용하여 추정 문제를 해

결해왔다[20, 36-38].

본 연구에서는 로봇과 실세계의 비선형 특성을 다루기 위하여 EKF(Extended

Kalman filter)를 이용한다. EKF를 이용한 SLAM 해법은 두 가지 단계로 이루어진

다. 첫번째 단계는 예측(prediction)으로 외부에서 유입된 정보 없이 내부 상태를 갱

신하는 것이다. 두 번째 단계는 외부 에서 유입된 정보를 이용하여 예측 단계에서

커진 오차를 줄이는 갱신(update) 단계이다. 이어지는 다음 절에서는 예측 단계와

갱신 단계에 대하여 자세히 설명한다.

□ Prediction

확장 칼만필터를 이용한 SLAM의 가장 처음 단계는 상태 예측이다. 즉, 로봇 기

구학과 관찰된 주행거리계 센서를 통하여 현재 상태를 업데이트 하는 것이다. 이는

그림 3.5.13(a) 단계의 로봇이 제어 입력 을 통하여 (b) 단계로 움직이는

것을 추정하는 것과 같다. 결과적으로 오차가 존재하는 점선 (b) 로봇의 위치

( )를 현재 상태로 추정하게 된다. 오차는 이때 가장 크게 되며 측정값을 이

용한 update 단계에서 Kalman gain에 의하여 줄어들게 된다.

이고 이다.

Q(k)는 를 나타낸다. Q(k)는 의 크기를 가진다.

□ Update

예측 단계에서는 예측한 로봇 상태변수 를 기반으로 측정값의 예측치

를 구했다. 갱신 단계에서는 센서를 통하여 실제 랜드마크의 측정값 zi(k)를

얻어낸 후 와 차이를 비교하여 예측 단계에서 계산된 상태의 오차를 줄인

다. 이는 그림 3.5.12에서 (b) 단계 로봇( , 점선)을 (b) 단계의 오차가 작아

Page 108: R-2007-2-059_인하대 이영삼_중기.hwp

- 107 -

진 검정색 로봇( )으로 위치를 수정 하는 것과 같다. 마찬가지로 랜드마크의

위치도 (점선)에서 으로 이동된다. 만약 로봇이 전진 했다면 랜드마

크는 그만큼 다가올 것이다. 만약 예측단계에서 계산한 측정치 추정값 에

오차가 크게 존재한다면 측정치 와의 차이는 클 것이다. 이러한 정보를 기반

으로 예측단계에서 구한 는 로 더 정확히 갱신된다.

확장칼만필터를 이용하여 구한 칼만이득 K와 측정값의 예측치와 실측치의 차이

는 서로 곱해져 예측 단계에서 구한 에 더해진다. 이로써

joint SLAM 벡터의 최종 추정치 가 확정된다.

(3.5.12)

아. Feature management

□ Feature addition

랜드마크는 로봇의 위치를 원점으로 하는 좌표계에서의 (X, Y, Z) 값으로 관찰된

다. Laser range finders의 경우에는, 유클리디안 좌표를 바로 알 수 없고 거리나 방

위각 등의 형태로 관찰되기도 한다. 만약 측정 함수 를 이용하여 측정치가 바

로 랜드마크 로 역변환 될 수 있다면 joint SLAM state 는 다음과 같이

확장된다.

(3.5.13)

이것은 예를들면, 2개의 랜드마크가 이미 추가되어 있고 3번째 랜드마크가 관찰

된 경우이다. 의 초기값은

(3.5.15)

Page 109: R-2007-2-059_인하대 이영삼_중기.hwp

- 108 -

와 같이 계산된다. 새롭게 추가된 랜드마크 에 대한 covariance는 식 3.5.16과

(3.5.16)

같이 갱신된다. 이는 식 (3.5.13)으로부터 유도된다.

□ Feature deletion

랜드마크를 삭제하는 것은 단순히 state vector 에서 해당 요소를 제거하는 것이

다. 만약 3개의 랜드마크 중 2번째 랜드마크가 삭제될 경우는 다음과 같다[19].

(3.5.17)

Covariance는 다음과 같이 축소된다.

(3.5.18)

실제 구현에서 랜드마크 삭제는 오랫동안 관찰되지 않거나 data association이 실

패 하였을 때 수행한다.

그림 3.5.14 모의실험에서 사용하는 경로

Page 110: R-2007-2-059_인하대 이영삼_중기.hwp

- 109 -

4. 모의실험

본 장에서는 제안한 fiducial marker를 이용한 SLAM 의 성능을 컴퓨터 모의실험

을 통하여 평가한다. 모의 실험 에서는 그림 3.5.14와 같은 90m 80m 크기의 복

도형 경로를 가지는 가상 공간에 대하여 EKF를 이용한 fiducial marker기반의

SLAM을 수행한다. 모의 실험에서는 실제 상태를 알 수 있으므로 SLAM을 이용하

여 추정된 상태와의 비교를 통하여 의미있는 결과를 도출 할 수 있다.

실험에서는 카메라의 센서 관찰 범위를 수정하여 field of view(FOV)안에 관찰되

는 fiducial marker의 갯수를 변화시키면서 제안된 방법의 robustness를 검증한다.

실험 은 총 3번의 loop로 구성된다. 첫 번째 루프에서는 상대적으로 덜 정확한 추정

을 하게 된다. 두 번째 루프에서는 이전에 관찰되었던 정보를 기반으로 좀 더 정확

한 추정치를 얻을 수 있다. 세 번째 루프에서는 이전 실험 보다 더 정확한 데이터

를 얻을 수 있다.

가. 실험 setup

Fiducial marker의 위치는 사전에 저장하지 않는다. 다만, 모의실험 프로그램에서

실제 센서의 관찰 범위에 대한 제약을 표현하는 함수에서만 그 정보를 이용한다.

즉, 실제 구현 시와 마찬가지로 로봇이 사전에 랜드마크의 정보를 알 수 없는 것과

같다. 표 3.5.1은 로봇의 기구적 제약 조건에 대한 값을 나타낸다. 실제 로봇은 일정

샘플링 타임에 조향 할 수 있는 모터 성능이 정해져 있으며 최대 속도 및 최대 조

향각도 정해져 있다.

로봇의 실제 속도는 알 수 없다. 즉, 어떤 센서에 의해서(e.g., 광학식 엔코더) 속

도를 계산하게 되는데 이 과정에서 반드시 오차가 있게 된다. 조향각 또한 마찬가

지로 오차를 가지게 된다. 따라서 이러한 부분은 잡음항을 추가하여 모델링 할 수

있다. 속도 및 조향각에 대한 불확실성은 다음과 같이 모델링 된다.

본 연구에서 이고 이다. 이 값은 대상 플랜트

의 특성으로부터 정할 수 있다.

실제 환경에서 카메라가 한 FOV에서 관찰 할 수 있는 fiducial marker의 개수는

한계가 있다. 이 갯수는 카메라의 성능이나 렌즈의 사양에 따라 다르다. 마찬가지로

본 연구의 모의실험에서도 이러한 부분을 모델링 한다. 즉, 고의로 관찰범위를 통제

하여 한 샘플링시간 동안 관찰할 수 있는 범위를 제한 한다. 때에 따라 한 화면에

보이는 fiducial marker의 갯수는 요구되는 랜드마크의 개수보다 적어 질 수 있다.

Page 111: R-2007-2-059_인하대 이영삼_중기.hwp

- 110 -

본 장에서는 fiducial marker가 영상에 1개만 나타날 때에 대한 결과를 이용하여 제

안된 방법의 견실성(robustness)에 대하여 평가한다.

표 3.5.1 로봇의 기구적 제약조건에 대한 parameter

Parameter Value Units

최대 속도 1.1 m/s

최대 조향각 120 도

최대 순간 조향각 60 도

샘플링 시간 0.025 초

Wheel Base 1.5 m

나. 실험결과

□ Only odometry sensor

그림 3.5.15는 비전 센서가 없이 위치추정을 수행한 것이다. 각 축 오차는 시뮬레

이션에서 얻어진 절대 좌표의 자료를 기준으로 한다. 시뮬레이션에서 얻어진 절대

좌표는 EKF를 통하여 예측한 값이 아닌 식 (3.5.12)로 얻어낸 오차가 없는 좌표값

을 의미한다. 그림 3.5.15에서 오차가 꾸준히 발산하는 것을 볼 수 있다.

추정치가 약 5m 이상 벗어나 실제 로봇의 위치와 많은 차이를 보인다. 이로서 비전

센서가 없이 주행거리계만 으로 위치를 추정하는 것은 불가능하다고 할 수 있다.

실제 환경에서는 마찰력, 미끄러짐 등으로 인하여 같은 효과가 발생한다. 주행거리

계만 이용한 dead reckoning은 위치인식 자료로 활용하기 힘든 사례를 보여준다.

(a) Continuously increasing errors. These data are useless because of big

difference from the ground truth data.

Page 112: R-2007-2-059_인하대 이영삼_중기.hwp

- 111 -

(b) The trace estimated from odometer information (dash-dot). There are big

differences between estimated trace and ground truth data(dotted).

그림 3.5.15 주행거리계 정보만 이용하여 추정된 결과

(a) The trace after rounding once with a camera.

(b) The trace after rounding twice with a camera.

(c) The trace after rounding three times with a camera.

그림 3.5.16 카메라를 센서모델에 포함시켜 SLAM을 수행한 결과

Page 113: R-2007-2-059_인하대 이영삼_중기.hwp

- 112 -

□ With monocular camera and fiducial marker : One fiducial marker at a scene

그림 3.5.17은 비전 센서를 장착하고 fiducial marker를 관측하면서 이동 했을 때

그림 3.5.14의 경로에 대하여 ground truth 자료에 대한 오차 그래프이다. 그림

3.5.16(a), (b), (c)는 5m마다 배치된 fiducial marker와 4m의 관측거리를 가지는 센

서 모델에 대한 궤적 그래프이다. 주어진 센서 모델의 경우 시야에 fiducial marker

가 1개 밖에 관측되지 않는다. 한 개의 랜드마크만 가지는 상황은 대부분의 SLAM

연구에서 가정하지 않는 상황이므로 매우 열악한 환경이라 할 수 있다. 실험에서

한 영상에서 관찰된 fiducial marker의 개수는 그림 3.5.17의 최하단 그래프에 나타

나 있다.

그림 3.5.16(a)-(c)는 비전 센서에 대한 모델이 추가된 이후 같은 경로를 3번 순회

하는 동안의 경로 변화를 나타낸다. 그림 3.5.16(a)에서는 목표 경로와 추정 경로가

불일치하는 부분이 나타난다. 이러한 현상은 그림 3.5.16(c)에서는 거의 관찰 되지

않는다. 하나의 카메라 영상에 하나의 fiducial marker만 보이더라도 추정오차 평균

0.3m 이내의 위치 인식 수행이 가능하다.

반복적으로 위치 이동을 시도할 경우 정확도는 점차 증가하게 되어 추정오차 평

균은 0에 근접한다. 그림 3.5.17은 카메라 모델을 포함 시킨 후의 오차 그래프를 나

타낸다. 실험에서는 한 프레임에 하나의 fiducial marker가 촬영된다. 1회 순회에

600여초가 소요된다. 이 그래프에서 매 600초가 지난 이후에 오차가 줄어드는 것을

볼 수 있다.이는 방문했던 정보가 다른 환경하에서 재 관찰 되면서 error

covariance가 작아지는 것을 의미한다. 재관찰 횟수가 늘어날수록 오차의 분산

(variance)은 작아진다. 즉, ground truth 데이터와의 차이가 줄어든다.

□ Two or more fiducial marker at a scene

그림 3.5.18(a), (b)는 한 프레임에 fiducial marker가 2개 이상 나타나는 경우의 경

로 궤적을 나타내고 있다. 한 프레임에 fiducial marker가 두 개 이상 등장하게 되

면 정확도가 높아지는 것을 관찰 할 수 있다. 또한 오차 그래프 그림 3.5.18로부터

fiducial marker의 FOV에서 등장하는 개수가 많을수록 추정 정확도가 높아지는 것

을 알 수 있다.

Page 114: R-2007-2-059_인하대 이영삼_중기.hwp

- 113 -

그림 3.5.17 시야에 보이는 fiducial marker가 1개인 경우의 오차

(a) The trace after rounding once with two fiducial markers in a frame.

(b) The trace after rounding twice with two fiducial markers in a frame.

그림 3.5.18 한 프레임에 fiducial marker가 다수 관찰되는 환경에서의 경로 추정

결과

Page 115: R-2007-2-059_인하대 이영삼_중기.hwp

- 114 -

그림 3.5.19 한 프레임에 fiducial marker가 2개 이상인 경우의 오차 그래프

최대 오차는 실험이 반복될수록 감소한다. 또한 평균오차도 관찰 횟수가 늘어날수

록 평균이 0에 근접한다.

5. 결론

본 연구에서는 fiducial marker를 이용하여 확장 칼만필터 기반의 SLAM 을 수행

하였다. Fiducial marker는 측정 모델을 간단히 할 뿐만 아니라 시간 지연 없는 랜

드마크 추가를 가능하게 하였다. 즉, 기존의 monocular SLAM [20]이 feature를 여

러 시점에서 관찰해야 하나의 feature를 등록 할 수 있는 것과 달리 단 한장의 프레

임만 관측 하더라도 랜드마크로써 feature를 등록 할 수 있다.

사전에 설치된 랜드마크에 대하여 계측하는 기존 연구 [27]와 달리 본 연구에서 제

한하는 랜드마크 모델은 무작위로 배치 될 수 있다. 또한 초음파 위성을 이용하는

[28]의 경우 랜드마크에는 별도의 전원이 필요하지만 제안된 방법은 랜드마크가 전

원을 필요로 하지 않는다. 따라서 장치 구성이 간단해지고 탑재가 손쉬우며 경제적

이다.

기존에는 cross-correlation 연산을 통하여 data association 문제를 해결하였다.

이는 때때로 잘못된 data association으로 추정 오차를 크게하는 원인이 되어왔다.

본 연구에서는 산업계에서 널리 쓰이는 만큼 그 안정성이 확보된 digital barcode를

활용하여 데이터 연합 문제에 있어 신뢰성을 높였다.

본 연구에서는 영상을 이용한 SLAM 에 있어 신뢰도를 향상시키기 위하여 인공

적인 랜드마크를 사용하되 그 기하학적 조건을 사전에 설정할 필요가 없는 새로운

방법을 제안 하였다. 또한 인공적인 랜드마크는 환경에 시각적 영향을 최소화 할

수 있도록 적외선 영역에서 감지되도록 할 수 있다. 본 연구에서 제안한 방법은 가

정용 로봇이나 서비스 로봇에 적용되어 낮은 가격에 높은 신뢰도를 가지는 위치추

정을 가능하게 할 것이다.

Page 116: R-2007-2-059_인하대 이영삼_중기.hwp

- 115 -

제 6 절 드럼 데이터베이스 프로그램

1. 개요

우리가 일반적으로 어떠한 것을 검사하고 관리한다는 것은 그것에 대한 누적된

데이터와 미래에 얻어질 데이터를 한 곳에 체계적으로 저장하여 한 눈에 알아볼 수

있도록 관리하는 것을 말한다. 따라서 본 연구에서 만든 로봇이 자동으로 검사하면

서 얻은 모든 데이터를 수집하여 저장하고 관리할 수 있으며, 일정한 형식의 보고

서로 출력하여 문서화할 수 있는 소프트웨어가 필요하다. 그림 3.6.1은 이러한 관리

를 위한 소프트웨어의 역할을 나타낸다. 이를 위해 소프트웨어는 Visual Studio

2008와 Access 2007을 이용하여 만들었다.

그림 3.6.1 관리 소프트웨어의 역할

2. 데이터베이스

가. 데이터베이스의 종류

이 소프트웨어에서 사용한 데이터베이스는 MS Access 2007이다(그림 3.6.2 참

조). 이것은 여러 데이터베이스 중에서 별도의 설치 없이 가장 손쉽게 사용할 수 있

는 데이터베이스이기 때문에 사용하였다. 나중에 실제로 사용하는 소프트웨어에서

는 SQL이나 오라클 등의 고급 데이터베이스를 이용하여 좀 더 나은 보안 및 안정

성 등을 확보할 수 있을 것이다.

Page 117: R-2007-2-059_인하대 이영삼_중기.hwp

- 116 -

그림 3.6.2 Microsoft Office Access 2007

나. 데이터베이스의 구성

방사선 폐기물 드럼의 관리에 필요한 9개의 데이터를 가상으로 정하였다. 9개의

데이터는 표 3.6.1과 같다.

표 3.6.1 소프트웨어를 위한 가상 데이터

데이터 설명

1 드럼번호 각 드럼이 가진 고유 번호

2 검사일자 드럼을 검사한 날짜

3 저장일자 드럼을 저장소에 저장한 날짜

4 폐기일자 드럼을 완전히 폐기할 날짜

5 드럼사진 드럼을 검사할 때 찍은 사진

6 드럼위치 드럼이 보관되어져 있는 위치

7 담당자 해당 드럼을 관리하는 사람

8 중요도 해당 드럼의 관리의 중요 정도

9 메모 해당 드럼에 대한 기타 사항

10 방사선 수치 해당 드럼 주위의 방사선 수치

각 데이터는 총 4개의 테이블로 구분된다. 첫 번째 테이블은 Drum 테이블로 드

럼번호, 저장일자, 폐기일자 등 한번 정해지면 변하지 않는 데이터들로 구성된다.

두 번째 테이블은 CheckDate 테이블로 드럼을 검사할 때마다 생성되는 데이터들로

구성된다. 나머지 두 테이블은 CargePerson 테이블과 Position 테이블로 담당자와

구역 데이터를 각각의 테이블로 만들어서 사용되는 환경에 따라 설정이 용이하도록

하였다. 테이블들은 일대다 연결을 통하여 서로 관계를 가지도록 설정하였다(그림

3.6.3 참조).

Page 118: R-2007-2-059_인하대 이영삼_중기.hwp

- 117 -

그림 3.6.3 데이터베이스의 테이블과 관계

3. 소프트웨어의 기능

Visual Studio 2008을 이용하여 C#기반으로 만들어진 소프트웨어로 기본적으로

드럼 데이터들을 추가, 삭제 및 조회를 할 수 있으며, 본 연구의 로봇이 자동으로

검사 작업을 수행 하면서 그 내용을 기록한 데이터를 자동으로 업데이트하여 저장

할 수 있다. 또한, 모든 드럼에 대한 전체 리스트 및 각 드럼의 상세 사항을 보고서

형식으로 출력할 수 있다.

가. 메인 화면

소프트웨어를 실행하면 그림 3.6.4와 같은 화면을 바로 볼 수 있다. 화면 구성은

크게 두 부분으로 나누어진다.

Page 119: R-2007-2-059_인하대 이영삼_중기.hwp

- 118 -

그림 3.6.4 메인 화면 구성

① 메인 메뉴

각 메뉴는 표 3.6.2와 같이 구성되어 있다.

표 3.6.2 메뉴 구성

추가/삭제 보고서 DB 업데이트 환경 설정

드럼 추가

드럼 삭제

보유 드럼 리스트

드럼 상세 보고서

파일열기 담당자 설정

구역 설정

② 드럼 리스트

현재 저장되어 있는 드럼의 간략한 정보를 볼 수 있는 부분이다. 사용자가 드럼

번호, 최종 검사일, 관리중요도, 드럼 위치, 담당자와 같은 드럼에 관한 간략한 정보

를 바로 확인할 수 있으며, 원하는 드럼을 선택한 후 아래에 있는 ‘조회’ 버튼을 클

릭하여 세부사항을 바로 확인할 수 있도록 구성하였다.

나. 조회 기능

그림 3.6.5는 각 드럼의 세부사항을 조회 하였을 때의 화면 구성이다.

Page 120: R-2007-2-059_인하대 이영삼_중기.hwp

- 119 -

그림 3.6.5 드럼 조회 화면 구성

① 조회한 드럼의 세부 사항이다. 드럼사진, 일련번호, 최근 검사일자, 드럼 저장/폐

기일자, 드럼 위치, 담당자, 관리 중요도를 표시하였다. 최근 검사일자와 사진은 가

장 최근 데이터로 업데이트 되어 나타난다.

② 드럼과 관련하여 사용자가 특이 사항이나 주의 사항 등을 적어놓을 수 있는 메

모 공간이다. ‘수정’버튼을 배치하여 사용자가 수시로 수정할 수 있도록 구성하였다.

③ 방사선 수치의 변화 그래프와 검사이력이다. ‘검사이력’에 검사일자와 방사선 수

치를 표시하고, 이를 그래프로 표현하여 사용자가 수치 변화를 쉽게 파악할 수 있

도록 하였다. 방사선 수치의 단위는 0.001 밀리렘(mrem)이고 최근 7개 데이터까지

표시하였다. 일반적으로 방사능 폐기물 드럼에서 나오는 방사선 수치가 0.050 -

0.900 밀리렘인 것을 감안하여 단위를 작게 정하였다.

다. 드럼 추가 및 삭제

드럼 추가 기능은 새로운 방사능 폐기물 드럼이 저장될 때, 사용자가 직접 새로

운 드럼을 입력해주는 기능이다(그림 3.6.6 참조). 그리고 드럼 삭제 기능은 저장된

드럼이 완전히 폐기되거나 드럼 추가 시 잘못 입력했을 경우 데이터를 삭제해주는

기능이다(그림 3.6.7 참조).

Page 121: R-2007-2-059_인하대 이영삼_중기.hwp

- 120 -

그림 3.6.6 드럼 추가 화면

그림 3.6.7 드럼 삭제 화면

라. 자동 업데이트

자동 업데이트 기능은 로봇이 자동으로 검사 작업을 수행하면서 작업한 내용을

정해진 형식에 맞춰 파일에 저장하면 사용자가 그 파일을 불러와 데이터베이스를

업데이트 해주고 새로 찍은 드럼 사진을 저장하는 기능이다(그림 3.6.8 참조).

그림 3.6.8 자동 업데이트 화면

마. 환경설정

환경설정에는 담당자 설정과 구역 설정이 있다. 담당자나 구역은 사용되는 환경

에 따라 자주 바뀌는 사항이기 때문에 변경될 때마다 데이터베이스 자체를 열어서

직접 수정하기 번거롭다. 그래서 따로 설정 메뉴를 만들어 소프트웨어를 사용하기

Page 122: R-2007-2-059_인하대 이영삼_중기.hwp

- 121 -

쉽게 만들었다(그림 3.6.9, 그림 3.6.10 참조).

그림 3.6.9 담당자 설정 화면

그림 3.6.10 구역 설정 화면

바. 보고서 출력

이렇게 관리된 데이터들을 사용자가 보기 쉽게 출력하기 위하여 보고서 출력 기능

을 만들었다. 보고서는 Visual Studio 2008에 들어있는 Crystal Report X를 이용하였

으며 보유 드럼 전체 리스트 보고서와 드럼 상세 보고서인 두 가지 보고서를 만들었

다. 그림 3.6.11은 Crystal Report를 이용하여 생성한 보고서의 출력 형태를 보여주고

있다.

Page 123: R-2007-2-059_인하대 이영삼_중기.hwp

- 122 -

그림 3.6.11 보유드럼 리스트 보고서 화면

Page 124: R-2007-2-059_인하대 이영삼_중기.hwp

- 123 -

제 7 절 로봇 설계 및 제작

본 연구에서 제안하는 로봇의 형태는 전방향(Omni directional) 회전이 가능한 모

바일로봇의 형태이다. 이 로봇의 장점은 4개의 바퀴가 각기 다른 방향 및 각으로

회전이 가능하여 다양한 로봇의 움직임이 가능하다는 것이다.

또한 높은 곳의 정보를 취득하기 위해 시저리프트 형태의 마스트가 장착되어 있

으며 마스트 상단에 카메라 및 여러 센서를 장착 하는 것이 가능하다. 특히 카메라

는 원하는 위치의 사진을 촬영 할 수 있도록 좌, 우로 회전 가능하다.

아래의 그림 3.7.1은 설계된 로봇의 형태이다.

그림 3.7.1 제안된 로봇

1. 몸체 설계

몸체는 알루미늄 프로파일로 제작이 되어있으며 로봇의 강도를 높이기 위해 프로

파일의 두께는 30mm☓30mm으로 선정하였다. 프로파일은 규격화 되어있고 조립이

비교적 쉬우며 구조를 손쉽게 추가 및 변경 가능하다는 장점을 가지고 있어 기구물

의 프로토타입 제작에 유용하다.

프레임은 가로 740mm, 세로 740mm, 높이 530mm의 크기로 설계 되었으며 바퀴

모듈 장착시 높이는 640mm가 된다. 몸체에는 전기전자 및 제어 부품이 설치 가능

Page 125: R-2007-2-059_인하대 이영삼_중기.hwp

- 124 -

하도록 각각의 부품 크기에 맞는 여유 공간을 두도록 설계되었다. 그림 3.7.2는 로

봇의 프레임이다.

그림 3.7.2 로봇의 프레임

2. 바퀴 모듈 설계

바퀴모듈은 총 4개이며 같은 구조로 제작되어 있다. 바퀴모듈은 크게 윗단의 조

향부와 아랫단의 추진부의 결합으로 이루어진다. 조향부는 바퀴의 방향을 조절하며,

추진부는 바퀴를 구동시켜 로봇을 앞으로 나아가도록 한다. 그림 3.7.3에서 설계된

바퀴모듈의 동작 자유도를 보여주고 있다.

그림 3.7.3 바퀴 모듈 자유도

Page 126: R-2007-2-059_인하대 이영삼_중기.hwp

- 125 -

추진부와 조향부 사이에 연결시키는 축은 높은 강도를 요하기 때문에 강철재질의

재료로 가공을 하였으며, 축이 흔들리지 않고 충분한 하중을 견디게끔 앵귤러 볼

베어링을 사용해 조향부와 연결된다. 이 회전축은 모터의 출력축과 커플링을 통해

직접 연결된다.

조향부의 모터는 Maxon-motor社의 150W급의 RE40모터와 기어비가 43:1인 감속

기가 결합된 모터를 사용된다. 이 모터는 8000RPM(Rounds Per Second)의 속도를

낼 수 있으며 정격전압은 48V이다. 또한 엔코더는 512CPT(Counts Per Turn)의 분

해능을 가지고 있으며 3-Channel의 출력을 가진다. 결국 조향부는 최대 6rad/s의

속도로 회전 가능하며, 로봇이 경로를 추종하기에 충분한 속도이다.

구조적으로 조향부는 무한 회전 가능하지만 배선의 휘말림 등에 의한 간섭을 막

기 위해 동작범위에 제한을 두었다. 이는 조향축에 연결된 캠과 포토센서를 이용해

전자적으로 구현한다.

사용된 포토센서는 Autonics 社의 포토 마이크로센서 BS5-T2M 모델이며 수광.

투광부 및 내부 회로가 밀봉된 구조라 작동의 견실성이 보장된다는 장점이 있다.

그림 3.7.4 은 사용된 포토 센서와 캠의 사진이며 그림 3.7.5엔 이들의 결합 위치

를 보여주고 있다.

그림 3.7.4 사용된 포토센서와 캠

그림 3.7.5 캠과 포토센서의 결합 위치

Page 127: R-2007-2-059_인하대 이영삼_중기.hwp

- 126 -

추진부에도 조향부에서와 동일한 모터를 사용하였으며 타이밍 풀리와 타이밍벨트

를 사용하였다. 타이밍 벨트의 장력 유지를 위하여 아이들러를 장착된다.

또한 몸체부분과 연결되는 완충 스프링을 고정하기 위한 샤프트 홀더가 장착이

되어 있으며 직접 몸체와 연결되는 부분인 리니어 부싱 하우징은 2개가 연결되어

있어 몸체의 16mm샤프트와 연결이 된다.

3. 휠 가공

로봇에 사용된 휠은 타미플러스 社의 기성제품으로써 전동스케이트에 사용되는

휠이다. 그러나 이 휠은 축이 회전이 되는 휠로써 사용목적에 적합하지 않으므로

추가 가공을 하여 축을 고정하였다. 휠 사이즈는 지름이 115mm이며 고무타이어를

포함한 타이어 전체의 크기는 220mm이다. 그림 3.7.6는 휠의 분해도를 나타낸 그림

으로써 휠은 양쪽으로 분해되는 구조를 가지고 있으며 그 안쪽에 가공된 휠 축을

삽입하여 볼트로 고정을 하였다. 또한 타이어는 공기주입식 방식으로써 충격을 잘

흡수한다는 장점을 가지고 있다.

그림 3.7.6 휠 분해도

4. 서스펜션

서스펜션의 역할은 크게 두 가지로 볼 수 있다. 하나는 노면에서 전달되는 충격

을 흡수하여 로봇의 안정적인 주행을 돕는 것이며 다른 하나는 요철이 심한 노면을

주행할 때 불규칙적인 운동을 제어하여 타이어의 접지력을 높임으로써 구동력 및

제동력을 확실히 노면에 전달하는 역할을 한다.

결합부는 16φ 열처리 연마봉과 Liner Bushing으로 연결되어 프레임과는 따로 상

하로 움직이게 되며, 이 부분에 압축형 코일 스프링이 장착되어 로봇 바퀴 모듈에

서 전해지는 충격을 완화하고 다른 바퀴의 접지력을 유지시켜주는 역할을 한다. 그

림 3.7.7은 스프링이 연결되는 위치를 나타낸 그림이다.

Page 128: R-2007-2-059_인하대 이영삼_중기.hwp

- 127 -

그림 3.7.7 서스펜션 장착 위치

그림 3.7.8은 실제 로봇에 장착된 모습을 보여준다.

그림 3.7.8 서스펜션 장착 형태

서스펜션은 각각의 바퀴모듈에 2개씩 총 8개가 장착이 되며 각각의 스프링 상수

는 30kgf이다. 즉, 바퀴 모듈 당 60kgf의 반발력을 유지하며, 로봇 전체적으로는

240kgf의 반발력을 가지게 되는 셈이다.

Page 129: R-2007-2-059_인하대 이영삼_중기.hwp

- 128 -

5. 마스트 설계

방사성 폐기물 드럼이 층층이 쌓인 곳에서 각 층의 드럼 정보 수집을 위해 로봇

의 정보 수집기 즉, 카메라 및 각종 센서들은 높은 곳까지 도달 가능해야 한다. 이

를 위해 로봇의 센서부를 들어올리기 위한 마스트를 설계하였다.

마스트는 시저리프트 구조를 응용하여 설계되었다. 시저리프트는 X자 형태의 링

크를 이용해 수평방향 운동을 수직방향 운동으로 바꾸어 주는 구조물로 비교적 간

단한 구조이며, 링크의 개수를 몇 개로 설계하느냐에 따라 수평방향 대 수직방향의

운동비를 조절할 수 있다는 점이 장점이며 본 연구에서 설계된 시저리프트는 얼마

간의 정비를 통해 링크를 추가하거나 제거 가능하며, 완전히 접혔을 때 로봇의 프

레임 안으로 완전히 내장되도록 설계했다. 그림3.7.9는 산업용 시저리프트의 예를

보여주고 있으며, 그림 3.7.10은 본 연구에서 설계한 시저 리프트의 구조이다.

(a) Genie社의 GS™-1932 (b) ERGO社의 ERGO LT35D

그림 3.7.9 산업용 시저리프트

Page 130: R-2007-2-059_인하대 이영삼_중기.hwp

- 129 -

(a) 설계된 시저리프트의 전체 모습 (b) 링크 한 단의 결합구조

그림 3.7.10 제안된 시저리프트

시저리프트를 들어올리기 위한 동력은 바퀴 조향 및 구동에 사용된 것과 동일한

Maxon-motor社의 150W급의 RE40모터와 기어비가 43:1인 감속기가 결합된 모터를

사용하였다. 이 모터의 회전축은 2:1 비율의 타이밍벨트로 연결된 리드 4의 전조나

사를 회전시키며 이때 전조나사에 가해진 토크가 맨 아랫단의 슬라이드를 밀게 되

어 시저리프트를 펴게 된다. 그림 3.7.11은 이의 동력 전달 구조를 나타낸 그림이다.

Page 131: R-2007-2-059_인하대 이영삼_중기.hwp

- 130 -

그림 3.7.11 시저리프트 동력전달구조

각 링크의 길이가 400mm이고 로봇에 최대 8단까지 탑재 가능하며, 8단의 시저리

프트를 구성했을 때 최소 0.7m에서 최대 3.5m까지 마스트의 높이제어가 가능하다.

제작된 프로토타입에서는 실험환경을 고려하여 6단의 시저리프트를 구성하였으며

이 때 마스트의 최대 높이는 2.74m 가 된다. 그림 3.7.12에서는 마스트의 최소/최대

도달 높이를 표현하고 있다.

Page 132: R-2007-2-059_인하대 이영삼_중기.hwp

- 131 -

그림 3.7.12 마스트 도달 최대/최소 높이 [단위 : mm]

마스트의 높이 제어는 Maxon motor社의 모터 제어기 EPOS 70/10을 사용했으며

마스트를 원하는 높이에 도달하기 위해서 모터의 회전과 마스트의 높이 비가 선형

적이지 않으므로 간단한 역기구학을 필요로 한다.

그림 3.7.13 시저리프트 역기구학 [단위 : mm]

위 그림 3.7.13에서 나타난 것처럼 각 링크의 길이는 0.4m이며, 목표 높이를 링크

개수로 나눈 길이를 라 한다면 슬라이드가 도달해야 하는 위치 는 아래와 같다.

Page 133: R-2007-2-059_인하대 이영삼_중기.hwp

- 132 -

(3.7.1)

여기서, 제어기는 모터의 엔코더 값을 제어하므로 모터가 도달해야 하는 엔코더

값 는 아래와 같이 계산된다.

(3.7.2)

여기서, 모터의 감속비 , 엔코더 분해능 , 전조나사 피치

이다.

마스트의 최상단엔 정보수집용 카메라를 좌, 우로 회전시킬 수 있도록 Robotis社

의 서보모터 RX-64를 장착하였으며, 이는 사용자의 입력에 따라 ±300° 의 회전범

위를 가진다. 카메라 뿐 아니라 온도센서, 습도센서, 방사능센서 등 다양한 정보수

집 장치를 부착 가능하도록 공간을 여유롭게 설계하였다.

그림 3.7.14에서는 마스트 상단 센서부의 자유도를 표현한다.

그림 3.7.14 마스트 상단 카메라 회전 자유도

Page 134: R-2007-2-059_인하대 이영삼_중기.hwp

- 133 -

6. 로봇의 전체 외형 및 사양

제작된 로봇의 외형은 그림 3.7.15와 같다. 표 3.7.1은 제작된 로봇의 하체부 사양

을 기술하고 있다.

그림 3.7.15 제작된 로봇의 외형(좌: 마스트 접힌 상태, 우: 펼친 상태)

표 3.7.1 하체부 사양

크기 740mm☓740mm☓460mm

무게 120 Kg

관절 4 D.O.Fs , 4 Wheels

등판각도 10°

견인하중 72 Kg

최대속도 4Km/h

최대 조향각 180°

방향모터 최대 토크 5.24Nm

최대 휠 토크 5.24Nm

바퀴 외경 220mm

마스트 도달 높이 0.7m ~ 2.74m

Page 135: R-2007-2-059_인하대 이영삼_중기.hwp

- 134 -

제 8 절 모의환경을 이용한 실험

이번 절에서는 개발된 프로토타입 로봇을 중저준위 방사성폐기물 저장시설과 유

사한 환경을 구성하여 임무수행의 모의실험 결과를 서술한다.

1. 실험 환경 구성

(a) (b)

그림 3.8.1 실제 저장소와 모의 실험장

그림 3.8.1은 원자력 발전소 중저준위 폐기물 저장소의 실제 사진과 본 연구에서

사용할 모의 실험장의 배경을 3D CAD를 사용하여 구현한 모습이다. 그림 3.8.1(a)

는 드럼간에 간격이 없이 조밀하게 쌓여진 상태여서 드럼의 파손여부 검사나 개수

파악 등이 불가능한 문제점을 가지고 있으나 그림 3.8.1(b)와 같은 환경을 구성할

경우 드럼을 조사할 수 있는 공간을 확보할 수 있는 장점이 있다. 중저준위 방사성

폐기물 저장시설과 유사한 환경을 구성하기 위해 그림 3.3.15의 PE 드럼을 구입해

서 2단으로 쌓아서 그림 3.8.2와 같이 복도에 쌓아 놓았다. 각각의 시험 상황에 맞

도록 드럼을 배치해서 시험 하였고, 드럼에는 그림 3.8.3와 같이 각기 고유의 특수

한 마커가 부착되어 있어 드럼을 식별할 수 있도록 하였다. 이 특수한 마커를

Fiducial marker라 부르는데 그것은 드럼 식별뿐만 아니라 위치인식 시스템에도 사

용된다.

Page 136: R-2007-2-059_인하대 이영삼_중기.hwp

- 135 -

그림 3.8.2 모의 실험장 사진

그림 3.8.3 고유한 마커가 부착된 드럼

Page 137: R-2007-2-059_인하대 이영삼_중기.hwp

- 136 -

2. 임무 시나리오에 따른 부분별 임무수행 시험

가. 임무 시나리오

지정된 로봇 충전 위치

자율주행으로 작업라인시작 위치로 이동 이동

비주얼서보잉으로 작업 라인을 따라 점검 대상 드럼 사이를 주행

영상처리를 통한 드럼의 인식

카메라 위치 제어를 통한 드럼의영상 획득 및 기타 환경정보 취득

자율주행으로 지정된 초기위치로 복귀

조사된 내용의 Host로의 전송

지정된 로봇 충전 위치

자율주행으로 작업라인시작 위치로 이동 이동

비주얼서보잉으로 작업 라인을 따라 점검 대상 드럼 사이를 주행

영상처리를 통한 드럼의 인식

카메라 위치 제어를 통한 드럼의영상 획득 및 기타 환경정보 취득

자율주행으로 지정된 초기위치로 복귀

조사된 내용의 Host로의 전송

나. 자율주행 실험

지정된 위치에서 시작해서 자율주행 시스템을 통해 자율주행으로 지정된 작업위

치까지 이동하는 시험을 수행했다. 이 시험은 자동 경로 생성 기능의 동작여부를

평가 할 수 있는 시험으로써 로봇의 통합제어시스템은 입력된 경유점으로부터 로봇

의 이동경로를 산출하고 바퀴구동 제어시스템은 생성된 경로를 기준입력으로 잡아

목표지검까지 이동하게 된다. (상대좌표계)이고 로봇의 초기 절대좌표계

상에서의 위치가 이고 각각의 (상대좌표계)가 다음과 같이 순차적으로 생성

됐을 때 생성된 경로는 그림 3.8.4와 같다. 시작 속도는 0m/s이고 중간 속도는

0.2m/s고 마지막 속도는 0m/s으로 설정하고, 샘플링 시간은 0.1초로 설정하였다.

Page 138: R-2007-2-059_인하대 이영삼_중기.hwp

- 137 -

0 1 2 3 4 5 6 7 8-2.5

-2

-1.5

-1

-0.5

0

0.5

m

m

그림 3.8.4 로봇의 경로생성

그림 3.8.4의 ‘*’는 로봇이 생성된 절대좌표계상의 이동점을 표시한다. 그림 3.8.4

에서 생성된 경로를 사용해서 얻어진 와 의 프로파일은 각각 그림 3.8.5과 그림

3.8.6과 같다. 이 시뮬레이션에 사용된 모드는 계속해서 앞바퀴 조향모드가 사용되

었다.

0 5 10 15 20 25 30 35 40 45 500

0.05

0.1

0.15

0.2

0.25

sec

m/s

그림 3.8.5 제어기에서 생성된 로봇의 출력

Page 139: R-2007-2-059_인하대 이영삼_중기.hwp

- 138 -

0 5 10 15 20 25 30 35 40 45 50-20

-15

-10

-5

0

5

10

15

20

sec

deg

그림 3.8.6 제어기에서 생성된 로봇의 생성된 출력

그림 3.8.7은 로봇이 드럼 장애물을 피해서 원하는 목표 위치까지 도달하는 실험

장면으로 원하는 목표지점까지 이동하는 것을 확인 할 수 있었다.

(a) (b)

(c) (d)

그림 3.8.7 자율주행 시험결과

Page 140: R-2007-2-059_인하대 이영삼_중기.hwp

- 139 -

다. 비주얼 서보잉 실험

라인을 따라 로봇이 점검할 대상 드럼들 사이로 지나가게 하는 비주얼 서보잉 기

술을 실험하였다. 그림 3.8.8은 비주얼 서보잉을 이용해 로봇이 작업라인을 추종하

는 모습이다. 영상 처리를 통해 추출한 Image plane의 기울기와 좌표값과 같은 정

보를 PI제어기의 피드백 데이터로서 직접 사용하며 이 때 제어기의 참조값으로는

마커인식을 통해 코너진입, 후진, 직진의 3가지 모드의 상태 추정에 따라 변하게 된

다. 샘플주기는 0.05s이며 주행 속도는 1.8km/h이다. 제어 출력으로 로봇의 조향각

및 속도비를 결정하여 주행하게 된다. 또한 라인의 기울기 정보를 판단하여 코너

주행과 직선주행의 로봇상태를 결정할 수 있게 되는데 이것을 사용하여 크랩모드와

에크만 모드로 상호 전환을 가능하게 하여 주행 상태를 최적화 시킬 수 있었다.

여러 번에 걸친 주행실험 결과 실험 시간대에 따라서 주행 성능에 차이를 관찰할

수 있었다. 분석결과 조명과 그림자의 영향을 최소화하기 위해서 이진화 과정에서

Otsu 알고리즘을 사용했음에도 불구하고 전체적인 밝기가 어두워졌을 때 Otsu 알

고리즘만으로는 잡음 제거 효과가 감소하는 것을 알아낼 수 있었다. 향후 조명 및

그림자 제거에 대한 좀 더 개선된 알고리즘의 개발이 필요하다.

(a) (b)

그림 3.8.8 비주얼 서보잉 시험결과

라. 드럼 인식 실험

로봇이 비주얼 서보잉하는 도중 영상처리를 통해 드럼에 부착된 마커의 고유번호

를 인식하는 시험을 수행하였다. 기존의 연구가 바코드 스캔 방식을 사용한 반면

본 연구에서는 fiducial marker를 사용하고 vision에 의해 처리하는 방식을 채택하

였다. 그림 3.8.9는 마커인식 알고리즘에 의해 드럼의 인식이 수행되는 것을 보여주

Page 141: R-2007-2-059_인하대 이영삼_중기.hwp

- 140 -

고 있다. 그림속의 숫자는 인식번호를 의미한다.

(a) (b)

그림 3.8.9 드럼 인식 시험결과

마. 카메라 위치 제어 실험

드럼의 영상을 취득하기 위해 로봇은 드럼 인식결과를 기반으로 적당한 위치에서

서게 된다. 이때 마스트가 움직이면서 로봇에 달려있는 카메라의 위치를 제어하는

시험을 수행하였다. 그림 3.8.10은 로봇이 비주얼 서보잉을 수행하면서 영상취득을

위해 시저리프트를 제어해 카메라를 적절한 높이로 위치 제어하는 모습이다. 카메

라의 위치는 시저리프트의 역기구학으로부터 매우 정밀한 위치까지 위치제어가 가

능하지만 기어박스를 가진 모터를 사용하는 관계로 이동 속도는 제한적이다. 향후

모터 사양 및 시저리프트의 구조변경 등을 통해 위치 제어 이동속도도 크게 향상시

킬 수 있을 것으로 예상된다.

(a) (b)

그림 3.8.10 카메라 위치 제어 시험결과

Page 142: R-2007-2-059_인하대 이영삼_중기.hwp

- 141 -

제 9 절 결론

지금까지 원자력 발전소에서의 안전검사를 위한 자율 지능형 로봇 개발과제의 연

구개발 수행 내용 및 결과에 대해 서술했다. 본 연구에서 개발한 자율 지능형 로봇

은 원자력 발전소 내의 중저준위 방사성폐기물 저장시설에서의 방사성폐기물 저장

드럼의 점검이라는 임무수행에 특화되어 있다. 그러므로 이에 필요한 핵심기술인

자율주행 시스템, 환경인식 시스템, 카메라 위치제어 시스템, 비주얼 서보잉 시스템

이 개발되었다. 또한 MSRDS를 사용해서 실제 원자력 발전소 내의 중저준위 방사

성폐기물 저장시설과 같은 환경에서 모의 테스트가 가능한 로봇 시뮬레이터를 개발

하였고, 임무 수행의 결과를 모니터링하고 체계적으로 관리하고 데이터베이스화하

는 호스트 소프트웨어를 개발해서 사용자의 편의성을 높였다. 마지막으로 개발된

프로토타입 로봇을 중저준위 방사성폐기물 저장시설과 유사한 환경을 구성하여 임

무시나리오에 필요한 부분별 임무수행에 대한 모의시험을 함으로써 로봇의 성능을

검증하였다.

본 연구에서는 로봇의 위치 인식에 독창적인 방법을 제한하였으나 맵 작성을 동

적으로 수행하는 연구는 병행되지 못하였다. 맵 작성은 로봇이 미지의 환경에 투입

되었을 때 위치인식과 더불어 꼭 필요한 기술로써 향후 맵 작성 기술에 대한 추가

적인 연구가 필요하다고 생각된다.

Page 143: R-2007-2-059_인하대 이영삼_중기.hwp

- 142 -

제 4 장 목표달성도 및 관련분야에의 기여도

제 1 절 연구개발목표의 달성도

1차년도에서는 원자력 발전소 내의 중저준위 방사성폐기물 저장시설에서 자유로

운 이동이 가능한 차륜식 로봇이 개발되었다. 개발된 프로토타입 로봇은 안정적 구

동이 가능하고 원격조정이 가능하다. 그러나 2차년도에서는 원자력 발전소 내의 중

저준위 방사성폐기물 저장시설의 점검을 위하여 로봇팔 대신 높이와 위치조절이 가

능한 마스트를 개발하였다.

2차년도에서는 MSRDS를 사용해서 실제와 같은 환경에서 모의 테스트가 가능한

로봇 시뮬레이터가 개발되었고, 원자력 발전소 내의 중저준위 방사성폐기물 저장시

설을 자율적으로 점검하는 데에 필요한 기술인 자율주행 시스템, 환경인식 시스템,

카메라 위치제어시스템, 비주얼 서보잉 시스템이 개발되었다. 또한 임무 수행의 결

과를 모니터링하고 체계적으로 관리하고 데이터베이스화하는 호스트 소프트웨어를

개발해서 사용자의 편의성을 높였다. 환경인식 기술에 있어서는 하나의 카메라와

평면 마커를 기반으로 한 독자적인 위치인식 기술을 개발하였고, 로봇의 제어에 필

요한 제어알고리즘들이 개발되어 필요한 기술을 확보하였다.

앞서 기술한 바와 같이 계획했던 연구목표가 충실히 달성되었다고 판단되지만 개

발 환경 때문에 실제 방사능센서를 사용하지 못한 점, 실제 중저준위 방사성폐기물

저장시설 안에서 테스트하지 못한 점이 아쉬움으로 남는다. 본 연구에서는 로봇의

위치 인식에 독창적인 방법을 제한하였으나 맵 작성을 동적으로 수행하는 연구는

병행되지 못하였다. 맵 작성은 로봇이 미지의 환경에 투입되었을 때 위치인식과 더

불어 꼭 필요한 기술로써 향후 맵 작성 기술에 대한 추가적인 연구가 필요하다고

생각된다. 아울러 로봇에 좀 더 향상된 지능을 구현할 수 있는 연구가 지속적으로

이루어져야 하겠다.

Page 144: R-2007-2-059_인하대 이영삼_중기.hwp

- 143 -

■ 연차별 연구목표 및 평가착안점

구분(연도) 세부연구목표 가중치 평가의 착안점 및 기준

1차년도

(2007)

차륜식 하체 설계 및 제작 30 %탐사작업에 필요한 장애물 극복능

력의 보유여부

로봇팔 설계 및 제작 30 % 안전검사 수행능력의 보유 여부

로봇 구동 회로 제작 30 % 로봇 구동의 안정성

원격 조종기 개발 10 % 원격조종 동작여부

2차년도

(2008)

자율 주행 시스템 개발 25 %장애물의 안정적 회피 및 목표 장

소로의 정확한 이동 여부

환경인식 시스템 개발 25 %위치 및 장애물 인식 가능 여부

위치에 따른 방사능 수치측정 여부

카메라 위치제어시스템 개발 20 %원하는 위치로 카메라 이동 여부

및 촬영영상의 선명도 여부

호스트 소프트웨어 개발 30 %

모니터링 기능 여부

임무지정/변경 가능 여부

사용자 편의성 여부

제 2 절 관련분야의 기여도

원자력 발전소에서의 안전검사를 위한 자율 지능형 로봇 개발의 결과 얻어진 기

술은 원자력산업 분야 이외도 보안 로봇, 군사용 로봇, 가사용 로봇, 사회 인프라용

로봇 등에도 활용될 수 있다. 또한 작업자의 접근과 통신이 제한되는 전장, 고온,

고압, 심해저, 우주와 같은 극한 작업환경이나 감시, 점검이나, 작업자를 대신한 단

순, 반복 형태의 작업과 같은 업무 형태에서 본 연구의 기술이 아주 유용하게 사용

될 수 있다.

Page 145: R-2007-2-059_인하대 이영삼_중기.hwp

- 144 -

세계 원자력 발전소는 32개국 총 442개 이고 국내의 원자력 발전소는 20개가 있

다. 따라서 원자력 발전소만을 목적으로 한 로봇의 시장은 작은 것이 현실이다. 그

러나 폐기물 저장 장소의 검열 및 감시용 자율지능 로봇은 원자력발전소에서 뿐만

아니라 대규모 물류 저장 장소의 무인 검열 및 재고조사용 로봇으로도 사업화가 가

능하여 자율 지능을 기반으로 하는 서비스용 로봇 분야로 시장을 확대 추진할 수

있으므로 산업․경제적 파급효과도 클 것으로 기대된다.

로봇산업은 이미 국가성장의 동력산업으로 이미 주목받고 있다. 일본 미쓰비시

연구소의 자료에 따르면 로봇시장규모는 2003년 15억 4천 5백만 달러에서 2004년

32억 8천만 달러, 2005년에는 54억 6천 9백만 달러로 규모가 커지면서 연간 100%

가 넘는 성장을 보이고 있다. 또한 산업자원부에서 발간된 로봇산업승인 통계집 자

료에 따르면 이미 우리나라의 로봇산업은 2005년도에 생산 3,302억원, 출하 5,682억

원, 산업체에 로봇분야 종사인원 2,262명, 특허 보유 329건으로 나타났다. 이미 로봇

산업은 우리나라에서 그 시장이 상당규모로 커져 있을 뿐만 아니라 앞으로 급속히

성장할 것이 예상된다. 나아가 세계 시장의 급속한 성장에서 우리나라가 그 시장을

선점 및 확보하기 위해서는 우리나라의 로봇기술의 기술우위가 필수적이다. 따라서

우리의 ’원자력 발전소에서의 안전검사를 위한 자율 지능형 로봇 개발‘은 우리나라

로봇산업의 기술 확보와 기술 인력 배출을 위해 중요하다 할 수 있다. 또한 우리나

라는 1998년 9월 30일 제249차 원자력위원회에서 “국가 방사성폐기물 관리대책”을

의결하여 방사성폐기물관리에 대한 기본방침을 확정하였다. 그 내용의 핵심사항 중

일부는 안전성을 최우선적으로 고려하여 관리하는 것과 국민의 신뢰 하에 추진하여

관리한다는 이다. 만약 우리의 자율 지능형 로봇을 중저준위 방사성폐기물처분시설

의 안전검사에 이용한다면 주기적으로 빠르게, 정확하게, 균일성 있게 검사할 수 있

으므로 보다 신뢰성 있고 안전하게 관리할 수 있고 또한 보다 향상된 문서화를 가

능하게 함으로 안정성의 향상과 국민 신뢰성 증진 이라는 방사성폐기물관리에 대한

기본방침에 충실이 부합된다.

Page 146: R-2007-2-059_인하대 이영삼_중기.hwp

- 145 -

제 5 장 연구개발결과의 활용계획

제 1 절 추가연구의 필요성

원자력 선진국에서는 각종 자동화 로봇을 사용하여 원자력발전소내의 작업종사자

를 방사선 노출로부터 보호하여 안전성을 향상시키고, 신속한 작업을 수행함으로써

경제성과 효율성을 높이려는 노력이 활발히 진행되고 있다. 원자력 발전소내의 작

업환경은 다양하고 복잡하고 또한 통신이 제한되는 등 외부와의 접근성이 제한되므

로 자율 지능형 로봇의 개발이 필수적이다. 그러나 현재 국내에서 진행되는 로봇연

구는 고정된 환경에서 미리 설정된 작업들만을 수행하도록 프로그램되어 있는 산업

용 로봇의 연구가 확보된 기술력을 가진 반면 자율 지능을 갖는 이동 로봇의 연구

는 아직 성숙한 수준에 이르지 못한 실정이다. 그러므로 자율 지능형 로봇의 기술

확보를 위해 추가연구가 많이 필요한 실정이다.

본 원자력 발전소에서의 안전검사를 위한 자율 지능형 로봇 개발의 연구 결과인

자율주행 시스템, 환경인식 시스템, 카메라 위치제어시스템 등의 기술은 자율 지능

형 로봇을 개발하는데 필요한 기본 요소 기술이 되므로 이를 발전시키고 통합시키

는 연구를 수행하여 좀 더 향상된 지능을 구현할 수 있는 연구가 필요하다.

또한 본 연구에서는 로봇의 위치 인식에 독창적인 방법을 제한하였으나 맵 작성

을 동적으로 수행하는 연구는 병행되지 못하였다. 맵 작성은 로봇이 미지의 환경에

투입되었을 때 위치인식과 더불어 꼭 필요한 기술로써 향후 맵 작성 기술에 대한

추가적인 연구가 필요하다고 생각된다.

Page 147: R-2007-2-059_인하대 이영삼_중기.hwp

- 146 -

제 2 절 타연구에의 응용

개발된 연구결과 특징을 열거하면 독창적 기법의 위치인식 시스템과 가변 길이의

시저리프트를 이용한 영상정보 취득 등을 들 수 있다. 위치 인식 시스템은 기존의

연구가 2개의 카메라를 이용하여 위치를 인식하는, 즉 스테레오 비젼 기반의 연구

임에 비해 제안된 연구결과는 단일 카메라만으로도 위치인식이 가능한 방법이다.

이러한 방법은 fiducial marker라는 인위적 인식표를 사용하여 가능한 것인데 이 마

커는 눈이 보이지 않는 형광도료 등을 통해 벽지 형태로 인쇄될 수 있어 가정용 서

비스 로봇의 저가형 위치 인식 시스템을 저가로 구현하기 위해 훌륭하게 적용될 수

있을 것으로 예상된다. 또한 가변 길이의 시저리프트 구조물은 중저준위 폐기물과

같이 대량으로 관리되는 물류의 관리 등에 효율적으로 사용될 수 있을 것으로 예상

된다. fiducial marker를 이용할 경우 1024가지의 독립적인 인식이 가능한데 이것을

다수 개 사용할 경우, 사실상 무한개의 물품도 바코드 없이 비젼 결과의 처리만으

로 개별 인식이 가능하므로 사람이 개입이 없이 로봇만으로 재고를 검사하고 관리

하는 등의 작업이 가능할 것으로 예상된다.

본 연구에서는 MSRDS를 사용해서 실제 환경과 유사한 작업을 가상으로 시험할

수 있는 환경을 효율적으로 구현하였고, 실제 작업 상황 정보를 수신하여 작업자에

게 실시간 삼차원 모니터링을 수행할 수 있도록 구현하였다. 이러한 기술은 가상

환경을 이용한 작업자의 교육 시스템 구현에 응용함으로써 숙련된 기술을 필요로

하는 분야의 작업에 실제 투입되기 전에 사전 교육을 가능하게 하여 안전 및 비용

절감 효과를 기대할 수 있다. 삼차원 모니터링 기술은 원격 작업 환경에서의 발생

하는 상황을 현실감 있게 재현함으로써 작업자의 작업효율을 향상시킬 수 있는 효

과가 있다.

Page 148: R-2007-2-059_인하대 이영삼_중기.hwp

- 147 -

제 3 절 기업화 추진방안

1. 연구개발 사업성과의 사업화 가능성

본 연구를 통해 개발된 기술은 그 기술을 원자력용 로봇뿐만 아니라 재난 구조용

로봇, 보안 로봇, 빌딩 서비스용 로봇, 극한 작업용 로봇, 의료 복지용 로봇, 사회

인프라용 로봇, 군사용 로봇, 가사용 로봇, 생활지원용 로봇, 여가 지원용 로봇, 교

육용 로봇, 네트워크 로봇 등에 직간접적으로 응용할 수 있다. 그러므로 급격하게

성장하고 있는 로봇 산업 분야에서의 사업화 가능성은 풍부하다고 말 할 수 있다.

2. 시장규모

가. 주시장(국가 또는 지역):한국, 아시아, 유럽, 미국

나. 시장규모

구 분현재의 시장규모

( 2005 년 )

예상 시장규모

( 2012 년)

세 계 시 장 규 모 5조 2000억원 약 55조원

한 국 시 장 규 모 5,682억원 약 4조원

* 산출근거:일본 미쓰비시 연구소의 자료와 한국의 산업자원부에서 발간된 로

봇산업승인 통계집 자료를 기준으로 작성하였다. 세계시장규모는 2005년을 기준으

로 연간 약 40%의 성장률을 근거로 7년 후를 예상 하였고, 한국의 시장규모는 2005

년을 기준으로 연간 약 32%의 성장률을 근거로 7년 후를 예상 하였다.

다. 세계시장의 성격(해당란에 모두 표시)

■ 안정성이 큼 □ 영속성이 있음

■ 성장성이 있음 □ 독점성(또는 과점성)이 있음

Page 149: R-2007-2-059_인하대 이영삼_중기.hwp

- 148 -

라. 본 기술을 보유하고 있는 국내외 회사는?

5개사 미만 ■

회사 : WSRC (국명 : 미국)

5개사 이상 □

3. 사업화 추진 계획

개발된 기술은 현장적용을 위하여 (주)한울로보틱스, 다스텍, 유진로봇등과 같은

국내 로봇업체와 전략적 제휴를 통해 사업화가 가능할 것으로 판단된다. 또한 대규

모 물류 저장 장소의 무인 검열 및 재고조사용 로봇으로도 사업화가 가능하며 자율

지능을 기반으로 하는 서비스용 로봇 분야로 시장을 확대 추진할 수 있을 것으로

생각된다.

Page 150: R-2007-2-059_인하대 이영삼_중기.hwp

- 149 -

제 6 장 연구개발과정에서 수집한 해외과학기술정보

MSRDS 최신기술

Microsoft社에서 출시한 MSRDS는 두 가지 신기술을 보유하고 있다. 첫째로

Concurrency and Coordination Runtime(이하 CCR)이며, 둘째로는 Decentralized

Software Services(이하 DSS)이다.

CCR은 고도의 동시성, 쓰레스, 락, 세마포어를 사용하지 않는 메시지 조작을 통

한 강력한 오케스트레이션을 지원하는 메시지 기반 프로그래밍 모델이다. CCR은

비동기 오퍼레이션(asynchronous operations) 관리와 동시성 처리 및 병렬처리 하드

웨어와 부분적 실패(partial failure)를 처리를 손쉽게 하는 서비스기반 애플리케이션

이다. 또한 애플리케이션 디자인에서 소프트웨어 모듈이나 컴포넌트가 느슨히 연결

(loosely coupled)되게 한다. CCR은 각각이 컴포넌트들이 런타임 환경과 다른 컴포

넌트들에 관한 최소한의 가정하에서 독립적으로 개발될 수 있게 한다. 이 접근법은

디자인 단계에서부터 프로그램에 관한 개념을 바꾸며 보다 손쉽게 동시성, 실패, 고

립화(isolation)를 일관되게 처리할 수 있게 한다. CCR은 .NET 2.0. Common

Language Runtime (CLR)을 위한 여러 프로그래밍 언어를 지원한다.

DSS는 기존의 웹기반 아키텍쳐(REST로 알려진)와 여러 웹서비스 아키텍쳐의 주

요 요소를 결합한 가벼운 서비스 기반 애플리케이션 모델이다. 이 애플리케이션 모

델은 서비스를 상태(state)와 operation들의 집합으로 정의하며, 구조화된 데이터 조

작, 이벤트 알림(notification)과 서비스 조립을 추가한 HTTP기반 애플리케이션 모

델의 확장으로 REST model하에서 DSS를 구성한다.

DSS의 주된 목표는 단순성, 상호운용성과 느슨한 연결(loose coupling)을 증진한

다. 이는 특히 서비스가 같은 노드 혹은 네트웍 상에서 실행 됨에 관계없이 서비스

들의 구성을 통해 애플리케이션을 생성하는 것을 가능하게 한다. 이는 매우 광범위

한 애플리케이션들을 제작하는데 매우 유연하면서 단순한 플랫폼이다. DSS는

HTTP와 서비스들간의 상호작용을 위해 DSSP를 사용한다. DSSP는 구조화된 상태

(state)의 조작과 이 상태(state)의 변화에 의한 이벤트 모델을 위한 가벼운 SOAP

기반 프로토콜이다. DSSP는 서비스들을 조작하고 subscribing하기 위해 사용되며

단순하고, 상태(state)기반 애플리케이션 모델을 제공하는데 있어 HTTP와 호환된

다.

Page 151: R-2007-2-059_인하대 이영삼_중기.hwp

- 150 -

MSRDS 설치 가이드

MSRDS를 다운 받기 위해서는 http://msdn.microsoft.com/ko-kr/robotics/default

(en-us).aspx 주소로 접속한다. 그림 6.1과 같이 상단 중간부에 다운로드를 클릭해

서 다운로드 페이지로 넘어간다.

그림 6.1 Microsoft Robotics Studio Developer Center

다운로드 페이지에 가면 그림 6.2에서와 같이 Microsoft Robotics Developer

Studio 2008 Express Editon과 Microsoft Robotics Developer Studio 2008

Standard Edition, Microsoft Robotics Developer Studio 2008 Academic Edition으

로 분류되어 있다. Express Edition은 재분포할 권한이 없다. 반면에 Standard

Edition은 일정의 금액($999.90)을 지불하고 라인센스를 획득하여 일정한 권한을 획

득하여 일정한 권한을 행사할 수 있다. 마지막으로 Academic Edition은 학생들에게

만 1년 라이센스를 주고 사용할 수 있게 하는 학습용이다. Express Edition은 무료

로 공급되는 만큼 일부 기능이 빠져 있다. MSRDS CTP버전을 사용해보고

Express Edition을 사용해본다는 어떤 기능이 빠진지 확인 할 수 있다. 그에 반하여

Standard Edition은 모든 기능이 들어가 있으며, 기존의 버그도 수정했다고 한다.

본 연구에서는 Express Edition까지 사용하였으나 CTP버전에서의 버그가 남아 있

Page 152: R-2007-2-059_인하대 이영삼_중기.hwp

- 151 -

는 것을 확인할 수 있었다. Standard Edition을 무료로 이용하고 싶다면 Academic

Edition을 받아 사용하면 된다. 하지만 현재까지 Academic Edition버전은 나오지 않

고 있다.

그림 6.2 MSRDS의 3가지 버전

아래 그림 6.3과 같이 Microsoft Robotics Developer Studio 2008 Express

Edition을 클릭한다. 이후 화면은 그림 3 중간부와 같이 다운받을 자료에 대한 정보

가 나오게 되며, 우측 슬라이드 바를 내리게 되면 353.9MB의 크기로 다운받을 수

있는 자료를 찾을 수 있다. Download를 클릭하여 다운을 받는다.

Page 153: R-2007-2-059_인하대 이영삼_중기.hwp

- 152 -

그림 6.3 MSRDS 다운로드페이지 화면

MSRDS는 Windows Server 2003 Service Pack2, Windows Server 2008,

Windows Vista, Windows Xp의 운영체제에서 사용가능하며, Visual Studio 2008,

2005 시리즈와 연동되어 돌아간다.

아래 그림 6.4와 같이 Microsoft Robotics Developer Studio 2008 Express

Edition(Offline installation).exe가 폴더에 다운로드가 완료되면, 더블클릭하여 실행

시킨다.

그림 6.4 MSRDS 설치파일

Page 154: R-2007-2-059_인하대 이영삼_중기.hwp

- 153 -

실행시키면 아래 그림 6.5와 같은 화면을 볼 수 있다. Next를 클릭하여 설치 프

로세서를 따라가면 최종 설치가 완료 된다.

그림 6.5 MSRDS InstallShield Wizard

C:\Documents and Settings\UserName\Microsoft Robotics Dev Studio 2008

Express 폴더에 그림 6.6과 같이 생성되어 있다면 모든 설치가 완료 된 것이다.

그림 6.6 MSRDS 설치된 경로

Page 155: R-2007-2-059_인하대 이영삼_중기.hwp

- 154 -

Evolution Robotics의 vSLAM

Evolution Robotics에서는 vSLAM 패키지를 판매하고 있다. SIFT(Scale

Invariant Feature Transform)를 이용하여 특징점을 추출하고 이를 Epipolar 제약조

건을 통하여 카메라의 자세 및 거리벡터를 구해낸다. 가격은 $30,000으로 굉장히 고

가이며 고성능의 컴퓨터를 필요로 한다.

그림 6.7 Evolution Robotic의 vSLAM 제품군 구조도

그림 6.8 ERSP의 vSLAM의 구동화면

Page 156: R-2007-2-059_인하대 이영삼_중기.hwp

- 155 -

iRobot의 Wayfarer 제품

미국의 로봇 제조업체 iRobot은 U.S. Army Research의 과제로 로봇 위치인식에

대한 연구를 진행 중이다. 아직 이 제품의 경우 소개만 있을 뿐 판매하고 있지 않

다. 이로 미루어 볼 때 고 수준의 위치인식은 국방연구의 하나로 진행 될 수 있을

것으로 생각된다.

그림 6.9 iRobot의 Wayfarer 제품의 시연 사진

Page 157: R-2007-2-059_인하대 이영삼_중기.hwp

- 156 -

위치인식 기술에 관한 해외 최신 특허정보

제목 공개번호 등록일 특허권자

Robot self-position

identification system

and self-position

identification method

US 7263412 2007.08.28 SONY

○ 주요 내용 : Artificial landmark 로 부터 거리와 방위각을 산출하여 위치인식을 함

○ 평가 : 본 특허의 위치인식 방법은 삼각측량법을 이용하여 국소적 부분에 대해서만

위치인식이 가능함

제목 공개번호 등록일 특허권자

Localization system

and method of mobile

robot based on camera

and landmark

US 20070150097 2006. 06. 28.한국전자통

신연구원

○ 주요 내용 : 카메라와 인공표식을 이용하여 로봇의 위치 계산. 표식의 개수를 계속

늘림으로써 새로운 공간까지도 로봇의 위치/방향을 측정할 수 있는 이동로봇의 자기 위

치를 측정하는 방법

○ 평가 : 본 특허의 위치인식 방법은 삼각측량법을 이용하여 국소적 부분에 대해서만

위치인식이 가능함

제목 공개번호 등록일 특허권자

Map Update Device JP 2007-101690 2005.09.30TOYOTA CENTRAL

RES & DEV LAB INC

○ 주요 내용 : 주변의 입체물 등의 표시를 이용하고 차량 위치를 고정밀로 추정한 결과

로 부터 도로 형상등의 지도 정보 갱신

○ 평가 : 본 특허는 지도작성에 국한되어 있어 본 연구와 거리가 있음

Page 158: R-2007-2-059_인하대 이영삼_중기.hwp

- 157 -

제 7 장 참고문헌

[1] K.D. Peterson and C.R. Ward, "An Autonomous Mobile Robot to Perform

Waste Drum Inspections", WSRC-MS-94-069, Savannah River Site, Aiken,

SC, 1994.

[2] K.D. Peterson and C.R. Ward, "The stored Waste Autonomous Mobile

Inspector(SWAMI)", WSRC-MS-94-069, presented at the American Nuclear

Society 6th Topical Meeting on Robotics and Remote Systems, Monterecy,

CA, February 1995.

[3] http://asimov.ece.scarolina.edu/swami.html.

[4] Byrd, J.S., "ARIES: A Mobile Robot Inspector", Proc. of ANS 6th Topical on

Robotics & Remote Systems, Monterey, CA, February 5-10, 1995.

[5] 정일호, “이동 로보트를 위한 궤적 생성”, 석사학위논문, 한양대학교, 1992.

[6] Danwei Wang, Feng Qi, "Trajectory Planning for a Four-Wheel-Steering

Vehicle", Proceeding of the 2001 IEEE International Conference on Robotics

& Automation Seoul Korea May 21-26, pp. 3320-3325, 2001.

[7] Fethi Belkhouche, Cooperative autonomous robot, Ph.D. dissertation, Tulane

University, 2005.

[8] Chang, Y.-C., Yamamoto, Y., "Path planning of wheeled mobile robot with

simultaneous free space locating capability", Intelligent Service Robotics,

Vol. 2, pp. 9-22, Jan, 2009.

[9] Edsinger, Aaron and Kemp, Charles., "Human-Robot Interaction for

Cooperative Manipulation: Handing Objects to One Another", Proceedings of

the IEEE International Workshop on Robot and Human Interactive

Communication (ROMAN), pp. 1167-1172, 2007.

[10] 송은지, 최병재, 류석환 , “자율이동로봇의 목표물 추적을 위한 시각구동장치의

설계 및 제어”, 퍼지 및 지능 시스템 학회 논문지, Vol. 16, No. 4, pp. 454-459,

2006. 8.

[11] Andrea Cherubini, Francois Chaumette, Giuseppe Oriolo. "A position-based

visual servoing scheme for following paths with nonholonomic mobile

robots", 2008 IEEE/RSJ International Conferencce on Intelligent Robots

and Systems Acropolis Convention Center., Nice, France, Sept, 22-26, 2008.

[12] 김광섭, 이상묵, 정동석, “윤곽선 방향의 히스토그램과 Sampled Spot Matching

을 이용한 이치 형상의 인식 알고리즘”, 전자공학회논문지, Vol. 28, No. 10, pp.

69-77, 1992.

[13] N. Otsu, " A threahold selection method from gray level histogram", IEEE

SMC-9, No.1, pp. 62-66, 1979.

Page 159: R-2007-2-059_인하대 이영삼_중기.hwp

- 158 -

[14] K. Fukunaga, Introduction to Statistical Pattern Recognition, New York

Academic, 1972.

[15] R.C. Lo and W.H. Tsai, "Gray-Scale Hough Transform for thick line

detection on Gray-Scale Image", Pattern Recognition, vol 28, No 5, pp

647-661, 1995.

[16] 김영준, “CCR 기초 강좌 통합본”, 2007

[17] 김영준, “Microsoft Visual Simulation 사용자 가이드”, 2007

[18] Young Joon Kim, “Beginning MSRS Simulation Programming Step by

Step", 2007.

[19] T. Bailey and H. Durrant-Whyte, “Simultaneous localisation and mapping (s

lam) : Part ii state of the art,” IEEERoboticsandAutomationMagazine, 2006.

[20] A. J. Davison, I. Reid, N. Molton, and O. Stasse, “MonoSLAM : Real-time

single camera slam,”IEEE Transactions on Pattern Analysis and Machine Int

elligence, vol.29, no.6, June 2007.

[21] J. Andrade-Cetto and A. Sanfeliu, “Environment Learning for Indoor Mobile

Robots. A Stochasti cState Estimation Approach to Simultaneous Localizatio

n and Map Building”, Springer-Verlag Berlinand Heidelberg Gmb H&Co. K,

2006.

[22] A. Davison, “Active search for real-time vision,” Computer Vision, 2005. IC

CV 2005. TenthIEEEInternationalConferenceon,vol.1,pp.66-73,Oct.2005.

[23] G. Desouza and A. Kak, “Vision for mobile robot navigation: a survey,” Pat

tern Analysisand Machine Intelligence, IEEE Transactions on, vol.24, no.2, p

p.237-267, Feb 2002.

[24] M. Betke and L. Gurvits, “Mobile robot localization using landmarks,” IEEE

Transactions on Robotics and Automation, vol.13, no.2, pp.251-263, April1997.

[25] I. Shimshoni, “On mobile robot localization from landmark bearings,” IEEE

Transactions on Robotics and Automation, vol. 18,no.6, pp.971-976, Dec2002.

[26] V. Ayala, J. H. F.Lerasle, and M.Devy, “Visual localization of a mobile robo

t in indoor environments using planar landmarks,” in Proceedings of the 200

0IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.27

5-280, 2000.

[27] “Stargazor TM,” Hagisonic, SouthKorea, Daejeon.[Online].Available:http://ww

w.hagisonic.com/

[28] “U-satTM,” Korea LPS, SouthKorea, Pusan. [Online].Available:http://korealp

s.co.kr/bbs/productsmodel.html

[29] M. Fiala, “Artag, a fiducial marker system using digital techniques,” in Proc

eedings of the Computer Vision and Pattern Recognition(CVPR’05), 2005.

Page 160: R-2007-2-059_인하대 이영삼_중기.hwp

- 159 -

[30] N. Y., K. M. and Y. N., “Localization of wearable users using invisible retr

o-reflective markers and an ir camera,” in Proceedings of SPIEE lectronic I

maging, vol.5664, pp.563-570, 2005.

[31] M. Fiala, “Artag revision 1. a fiducial marker system using digital technique

s,” Institute for Information Technology, Tech. Rep. NRC/ERB-1117, Novem

ber 2004.

[32] H. Kato and M. Billinghurst, “Marker tracking and hmd calibration for a vi

deo-based augmented reality conferencing system,” in Proceedings of the 2n

d International Workshop on Augmented Reality(IWAR99), SanFrancisco, US

A, Oct. 1999.

[33] W. Daniel and S. Diester, “Artoolkitplus for pose tracking on mobile device

s,” in Proceedings of 12th Computer Vision Winter Workshop(CVWW’07), 20

07.

[34] M. Fiala, “Comparing artag and artoolkit plus fiducial marker systems,” in I

EEE International Workshop on Haptic Audio Visual Environments and their

Applications, Ottawa, Ontario, Canada, 2005.

[35] T. Okuma, K. Sakaue, H. Takemura, and N. Yokoya, “Real-time camera par

ameter estimation from images for a mixed reality system,” in Proceedings

of 15th International Conference on Pattern Recognition, vol.4, pp.482-486, 20

00.

[36] M. W. M. G. Dissanayake, P. Newman, S. Clark, H. F. Durrant-Whyte, and

M. Csorba, “A solution to the simultaneous localization and map building (sl

am) problem,” IEEE Transaction son Robotics and Automation, vol.17,no.3,p

p.229-241,June2001.

[37] A. J. Davison and N.Kita,“Sequential localization and map-building for real-

time computer vision and robotics,”RoboticsandAutonomousSystems,vol.36,no.

4,pp.171-183,2001.

[38] A. J. Davison, “Mobilerobotnavigationusingactivevision,”Ph.D.dissertation, De

partment of Engineering Science-University of Oxford, 1998.