+ All Categories
Home > Documents > 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... ·...

시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... ·...

Date post: 06-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
51
시뮬레이션 로봇제어 응용
Transcript
Page 1: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

시뮬레이션 로봇제어 응용

Page 2: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

2

지난회차 보기

지난회차 보기

안녕하세요! 지난 시간에는 기본 로봇제어 및 프로그래밍2에 대해 알아 보았습니다. 그럼 이번 회차를 시작하기 전에 앞서 학습한 주요 내용을 기억하고 있는지 확인해 봅시다.

1. Generic Articulated Arm 서비스를 이용한 시뮬레이션 로봇팔 제어 -관절로 연결된 로봇의 각 동작 부분을 제어하기 위한 서비스 -Generic Articulated Arm과 Simple Dashboard 서비스를 다이어그램에 추가 -KUKA.LBR3.simulation.Manifest.xml 매니페스트를 이용해 산업용 로봇팔 시뮬레이션을 사용함

2. XInput Controller 서비스 -XInput Controller 서비스는 XBOX 360 Controller의 PC용 버전을 이용하는 서비스 -XInput Controller, Game Controller 및 Desktop Joystick 서비스 등 다양한 입력 디바이스 서비스들을 통해 로봇을 조종함 -XInput Controller 서비스 출력단자 ● ButtonsChanged : 버튼 A, B, X, Y, BACK, START, LB, RB 8개의 버튼으로 눌린 상태 반환 ● DPadChanged : 시야 조정 단추의 위치를 반환 ● ThumbsticksChange : 컨트롤러 스틱의 위치 값을 반환. 범위는 -1000~1000 사이 값 ● TriggersChanged : Trigger버튼의 눌린 위치 값을 반환, 눌려진 정도 범위는 0~1 사이 값

3. Generic 접촉 센서s 서비스를 이용한 센서입력 -접촉센서들의 눌려진 상태가 변화될 때 마다 ContactSensorUpdate 알림 출력을 통해 센서의 상태가 출력됨 -출력 메시지는 Pressed라는 변수로 전달됨. 눌려진 상태는 True(눌려짐),False(떨어짐)의 2가지 상태를 가짐

4. 센서입력을 이용한 로봇 제어 -iRobot의 Create 시뮬레이션 로봇은 전방 좌측에 오직 한 개의 접촉센서만 지원 -이동로봇 P3DX 시뮬레이션 로봇의 앞 뒤 범퍼는 Generic 접촉 센서s서비스를 지원 -앞 범퍼 신호가 감지되면 로봇을 뒤로 이동시키고, 뒤 범퍼가 감지되면 로봇을 앞으로 이동시키기 실습 위와 같이 4가지에 대해서 알아 보았습니다. 이것들을 잘 기억하고 다음 회로 넘어 가 봅시다.

Page 3: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

3

학습목표

<학습 목표>

1. 접촉 센서 및 LRF(Laser Range Finder) 서비스를 이용한 시뮬레이션 로봇제어 응용방법을 학습한다.

2. Simple Vision 서비스를 이용해 영상처리 기반 로봇제어 응용방법을 학습한다.

이번 시간은 시뮬레이션 로봇제어 응용 방법들을 학습해 보겠습니다.

동기유발&학습목표

<주요 학습 내용>

1. 접촉 센서 및 LRF(Laser Range Finder) 로봇제어 응용

2. Simple Vision 서비스를 이용한 로봇제어 응용

Page 4: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

4

1. MSRDS 시뮬레이션에서는 레이저 거리계 센서인 LRF(Laser Range Finder)를 모든 시뮬레이션

로봇에서 이용할 수 있다. 2. 영상처리 서비스인 Simple Vision서비스는 실재 로봇의 카메라와 시뮬레이션 로봇의 카메라 모

두에서 사용이 가능하다.

간단한 퀴즈

학습에 앞서 여러분의 사전지식이 어느 정도인지 알아보는 OX퀴즈입니다.

가벼운 마음으로 아래의 내용을 읽고, OX로 답해보기 바랍니다.

확인

사전지식 점검

O / X

1번 정답: X

MSRDS의 시뮬레이션 로봇 중 P3DX 등 소수의 로봇에서 LRF를 지원하고 있습니다.

2번 정답 : O

영상처리 서비스인 Simple Vision서비스는 실재 카메라(WebCam) 혹은

시뮬레이션 로봇의 카메라(Simulated Webcam) 둘 모두를 지원합니다.

O / X

Page 5: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

5

1. Lesson. 접촉 센서 및 LRF(Laser Range Finder) 로봇제어 응용

VPL에서 접촉 센서 및 LRF(Laser Range Finder) 서비스를 이용한 다양한 로봇제어 응용방법들에 대해 학습해 보겠습니다.

1. 접촉 센서 로봇제어 응용

2. LRF(Laser Range Finder) 로봇제어 응용

레슨소개

Page 6: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

Text To Speech 서비스 MSRDS에서 기본으로 제공하는 문자를 음성으로 바꾸어 출력하는 서비스입니다. 본 서비스는 기본으로 영어를 남성음성을 출력합니다. 한글음성출력을 지원하기 위해서는 추가적으로 상용음성엔진을 구입해 설치해야 합니다.

1. 접촉 센서 로봇제어 응용

(1) Text To Speech 서비스

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

-MSRDS에서 기본으로 제공하는 문자를 음성으로 바꾸어 출력하는 서비스입니다. -기본으로 영어를 남성음성을 출력 -한글음성출력을 위해서는 상용 음성엔진을 구입해 추가로 설치해야 함

Text to Speech 서비스 위치와 모양

Page 7: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

다음으로 접촉센서(Contact Sensor)의 눌려진 상태를 받아와 Text To Speech 서비스를 이용해 음성출력으로 나타내는 실습입니다. 우선 이전 회차 실습에서와 같이 Generic Contact Sensors 서비스와 Calculate 엑티버티를 하나 추가합니다. 이 작업 후에 Connections 다이얼로그 창이 표시됩니다. From 항목에서 ContactSensorUpdate를 선택하고 To 항목에서 Calculate를 선택한 후 Ok 버튼을 클릭합니다 이때 Calculate 엑티비티를 추가하고 접촉 센서 서비스의 알림 단자와 Calculate 엑티비티의 입력 단자를 연결하고 Calculate 엑티비티에 Name를 써 넣습니다.

Simple Vision 서비스를 이용한 로봇제어

Calculate엑티버티 추가 및 Generic 접촉 센서s 서비스와 연결

1. ContactSensorUpdate 선택 2. Calculate엑티버티의 입력창에 Name 입력

(2) Text To Speech 서비스를 이용한 접촉 센서 결과 음성출력

Page 8: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

다음으로 Text to Speech 서비스를 Services 툴 박스에서 마우스로 끌어다가 놓고, Calculate 엑티비티의 출력 단자와 Text to Speech 서비스의 입력 단자를 연결합니다. 이 작업 후에 Connections 다이얼로그 창이 표시됩니다. From 항목에서 Calculateresult를 선택하고 To 항목에서 SayText를 선택한 후 Ok 버튼을 클릭합니다. 다음으로 Data Connections 창에서 value 를 선택합니다.

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

Text to Speech 서비스 연결 설정

Page 9: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

다음으로 로봇 조종을 위한 심플대쉬보드 서비스를 다이어그램에 추가합니다.

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

로봇 조종을 위한 심플대쉬보드 서비스 추가

Page 10: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

다이어그램이 완성되었습니다. Generic Contact Sensors 와 연결될 매니페스트로 P3DX 시뮬레이션을 지정합니다. Generic Contact Sensors 를 마우스로 클릭한 후, VPL의 오측에 있는 속성(Properties) 툴 박스의 Configuration항목에서 그림과 같이 선택 후, import를 클릭해 연결해 사용하고자 하는 iRobot.Create.Simulation.Mafinest.xml 선택합니다.

Simulated Generic Differential Drive가 사용가능한 매니페스트 목록

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

iRobot의 Create 시뮬레이션 로봇 매니페스트 지정하기

Page 11: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

자 이제 저장하고 실행합니다. 시뮬레이션이 실행된 후 심플대쉬보드에서 로봇을 조종해 로봇 앞쪽 오른쪽에 위치한 접촉센서가 장애물에 닿으면TTS를 이용해 음성으로 접촉센서의 이름이 출력됨을 확인할 수 있습니다.

iRobot Create을 이용한 시뮬레이션 결과 출력 및 장애물 충돌시 접촉센서 결과 TTS출력 확인

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

실습 따라해 보기

15회차1.avi 동영상을 플레이 시켜 따라해 본다.

Page 12: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

자 이제 접촉센서의 고급 응용으로 시뮬레이션 LEGO NXT Tribot 을이용해 미로를 탐색하는 예제를 실습해 보겠습니다. 이러한 미로탐색을 위한 알고리즘은 다음의 순서로 구성됩니다. -먼저 Tribot 앞쪽에 장착된 접촉센서가 눌려질 때 까지 전진합니다. -접촉센서가 눌리면(전방에 벽이 감지됨) 90도 회전한 후 전진합니다. -접촉센서가 눌리고 5초 이내에 다시 접촉센서가 눌려지면 180도 회전 후 전진

(2) LEGO NXT 로봇 시뮬레이션 범퍼를 이용한 미로탐색

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

실습에 사용된 미로와 LEGO NXT Tribot

미로탐색을 위한 알고리즘 -먼저 Tribot 앞쪽에 장착된 접촉센서가 눌려질 때 까지 전진 -접촉센서가 눌리면(전방에 벽이 감지됨) 90도 회전한 후 전진 -접촉센서가 눌리고 5초 이내에 다시 접촉센서가 눌려지면 180도 회전 후 전진

Page 13: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

자 이제 이 미로탐색알고리즘을 직접 VPL로 작성해 보겠습니다. D 1. Data 및 Variable 엑티버티를 이용해 Time 변수를 추가하고 0으로 초기화합니다. 2. 다음으로 Timer서비스를 이용해 1초가 지날 때 마다 Time변수를 1씩 증가하게 합니다. (Timer서비스와 Calculate엑티버티 연결시 Tick선택)

2. Timer서비스를 이용해 1초가 지날 때 마다 Time변수를 1씩 증가시킴

접촉 센서 및 LRF(Laser Range Finder)

1. Time 변수 추가 및 0으로 초기화

Page 14: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

3. Tribot 이 실행되자마자 바로 전진시키기 위해 Data엑티버티에 0.2를 넣고 양쪽 바퀴의 속력으로 Simulated Generic Diferential Drive에 SetDrivePower를 통해 연결하여 전진시킵니다.(Generic Diferential Drive를 사용해도 됩니다.) 4. 현재 접촉센서가 눌렸을 때, 바로 이전 눌린 후로 5초가 지났는지를 구분하기 위한 If 엑티버티 추가를 그림과 같이 추가하고 Simulated Generic Contact Sensors서비스와 Update로 연결합니다.(Generic Contact Sensors를 사용해도 됩니다.)

4. 현재 접촉센서가 눌렸을 때, 바로 이전 눌린 후로 5초가 지났는지를 구분하기 위한 If 엑티버티 추가

접촉 센서 및 LRF(Laser Range Finder)

3. 실행되자마자 바로 전진하기 위한 Drive명령 추가

Page 15: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

5. 접촉센서가 눌렸을 때, 바로 이전 눌린 후로 5초가 지난 경우 ,순서대로 약간 후진 후 90도 회전 후 직진, 이때 또한 Time변수를 0으로 초기화합니다.

5. 접촉센서가 눌렸을 때, 바로 이전 눌린 후로 5초가 지난 경우 , 약간 후진=>90도 회전=>직진, Time변수 0으로 초기화

접촉 센서 및 LRF(Laser Range Finder)

Page 16: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

6. 마지막으로 접촉센서가 눌렸을 때, 바로 이전 눌린 후지 5초가 안된 경우, 약간 후진=>180도 회전=>직진

6. 접촉센서가 눌렸을 때, 바로 이전 눌린 후지 5초가 안된 경우, 약간 후진=>180도 회전=>직진

접촉 센서 및 LRF(Laser Range Finder)

Page 17: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이번 실습에 사용된 LEGO NXT Tribot 미로시뮬레이션 환경은 MSRDS에 존재하지 않습니다. 따라서 완성된 VPL프로젝트를 링크에서 다운로드 후 실행해 보기 바랍니다. *준비된 VPL프로젝트인 15_Lego_NXT_Simulation.zip 을 다운받아 압축해제 후 디렉토리 안에 있는 Lego_NXT_Simulation.mvpl 을 더블클릭해 VPL 프로젝트를 불러들인 후 확인하고 실행해 봅니다. 미로탐색을 위한 매니페스트는 LegoNXT_Simulation-1.Manifest.xml 이며 미로시뮬레이션 환경은 legonxt_simulation (LegoNXT_Simulation-1.Manifest).xml에 저장되어있습니다. 궁금하신 분들은 legonxt_simulation (LegoNXT_Simulation-1.Manifest).xml을 직접 시뮬레이션 환경에서 로드해 보기바랍니다.

시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

실습 따라해 보기

15_Lego_NXT_Simulation.zip을 다운로드해서 실행해 본다.

15회차2.avi 동영상을 플레이 시켜 따라해 본다.

Page 18: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이번에는 LRF(Laser Range Finder) 로봇제어 응용에 사용할 Sick Laser Range Finder 서비스를 알아봅시다. 레이져 센서를 이용한 거리측정 센서(Distance measurement device)로 측정된 거리 값들을 알림(notification) 출력 연결로 결과값을 출력하는 서비스입니다. 측정범위 180°, 해상도 0.5°,최대 측정거리 8m 입니다. Sick Laser Range Finder는 실재 로봇과 시뮬레이션에서 모두 사용가능하며 Simulated Laser Range Finder 서비스는 시뮬레이션에서만 동작하는 서비스입니다. Tip: Simulated 가 앞에 붙는 서비스들은 모두 시뮬레이션에서 동작하는 서비스입니다.

2. LRF(Laser Range Finder) 로봇제어 응용 (1) Sick Laser Range Finder 서비스

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

Sick Laser Range Finder 및 Simulated Laser Range Finder 서비스의 위치 및 모양

-레이져 센서를 이용한 거리측정 센서(Distance measurement device)를 위한 서비스 -측정된 거리 값들을 알림(notification) 출력 연결로 결과값 출력 -측정범위 180°, 해상도 0.5°,최대 측정거리 8m

Tip: Simulated 가 앞에 붙는 서비스들은 모두 시뮬레이션에서 동작하는 서비스입니다.

Page 19: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

0번째 값 359번째 값

179번째 값

19

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

그림과 같이 180도 각도에 대해 0.5도 별로 거리데이터를 전달하며, 값은 밀리미터 값이며 최대 8M(8000) 값을 가집니다.

-180도 각도에 대해 0.5도 별로 거리데이터를 전달 -값은 밀리미터 값이며 최대 8M(8000) 값을 가짐

0° 180°

Distance measurement

Page 20: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

20

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

MSRDS 시뮬레이션은 LRF를 탑재한 기본 이동로봇으로 파이오니어 P3DX가 준비되어 있습니다. 이 이동로봇의 특징은 다음과 같습니다. -장애물 검출을 위한 LRF센서(Laser range finder) 시뮬레이션 -카메라 영상 입력을 위한 WebCam서비스 시뮬레이션 -이륜 차동 구동부(Two-wheel differential drive) 시뮬레이션 -실재 로봇과 유사한 시뮬레이션 가능

이동로봇 파이오니어 P3DX 시뮬레이션의 특징 -장애물 검출을 위한 LRF센서(Laser range finder) 시뮬레이션 -카메라 영상 입력을 위한 WebCam서비스 시뮬레이션 -이륜 차동 구동부(Two-wheel differential drive) 시뮬레이션 -실재 로봇과 유사한 시뮬레이션 가능

Sick Laser Range Finder

Two-wheel differential drive

WebCam

이동로봇 파이오니어 P3DX 로봇시뮬레이션

Page 21: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이제 Sick Laser Range Finder 서비스 거리값 읽어 오기를 실습해 보겠습니다. 그림과 같이 다이어그램을 추가합니다. 거리값을 읽어오기 위해 Calculate엑티버티를 하나 추가합니다. Calculate엑티버티의 입력창에 그림과 같이 DistanceMeasurements[0]를 입력한 후, Log서비스를 이용해 값을 추가합니다. Calculate엑티버티와 Log 서비스 연결 설정은 그림과 같이 LogInfo 선택 후 value를 Message에 선택해 메시지를 전달합니다.

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

Calculate엑티버티 및 Log서비스 추가 및 연결

(2) Sick Laser Range Finder 서비스 거리값 출력

Log 서비스 연결 설정

Page 22: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

자 이제 접촉센서 상태 출력을 위해 Simple Dialog서비스를 하나 추가합니다. 그리고 Claculate엑티버티 출력 단자를 Simple Dialog의 입력 단자와 연결합니다. Connections 창에서는 CalculatedResult 와 AlertDialog를 각각 From:, To:의 연결로 선택합니다. 그리고 Data Connections창에서는 Claculate엑티버티의 출력결과인 value를 선택합니다

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

Simple Dialog 서비스 추가 Calculate엑티버티와 연결

Page 23: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이동로봇 P3DX 시뮬레이션 매니페스트 지정하기

Sick Laser Range Finder와 연결될 매니페스트로 P3DX 시뮬레이션을 지정합니다. Sick Laser Range Finder 를 마우스로 클릭한 후, VPL의 오측에 있는 속성(Properties) 툴 박스의 Configuration항목에서 그림과 같이 선택 후, import를 클릭해 MobileRobots.P3DX.Simulation.manifest.xml 선택합니다. MobileRobots.P3DX.Simulation.manifest.xml에는 심플대쉬보드가 기본으로 실행되도록 설정되어 있습니다. 따라서 별도로 심플대쉬보드 서비스를 다이어그램에 추가하지 않아도 자동으로 실행됩니다.

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

MobileRobots.P3DX.Simulation.manifest.xml 매니페스트 선택

Page 24: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

실습 따라해 보기

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

자 이제 저장하고 실행합니다. 시뮬레이션이 실행된 후 LRF센서의 맨 우측 값인 DistanceMeasurements[0]이 Run창에 연속해서 출력됨을 볼 수 있습니다. 심플대쉬보드에서 로봇을 조종해 보면 이 값이 바뀜을 확인할 수 있습니다.

Page 25: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이제 Sick Laser Range Finder 서비스를 이용한 로봇 자율주행을 실습해 보겠습니다. 로봇 자율주행 알고리즘은 다음과 같습니다. -앞 혹은 좌측 전방 LRF 감지되면, 우측으로 회전,-우측 전방 LRF 감지되면, 좌측으로 회전-위 두 경우가 아닐 경우 전진 진행 먼저 Sick Laser Range Finder을 다이어그램에 추가한후 두개의 If엑티버티를 추가해 그림과 같이 조건문을 입력합니다. 맨위의 If엑티버티는 앞 혹은 좌측 전방 LRF 감지 조건이며 아래의 If엑티버티는 우측 전방 LRF 감지를 위한 조건입니다. If조건문들을 순서대로 비교하기 위해 위 If엑티버티 Else 출력 연결단자를 아래의 If엑티버티의 입력 연결단자로 연결합니다.

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

(3) Sick Laser Range Finder 서비스를 이용한 로봇 자율주행

앞 혹은 좌측 전방 LRF 감지 및 우측 전방 감지를 위한 If 엑티버티 추가

로봇 자율주행 알고리즘 -앞 혹은 좌측 전방 LRF 감지되면, 우측으로 회전 -우측 전방 LRF 감지되면, 좌측으로 회전 -위 두 경우가 아닐 경우 좌측방향으로 전진 진행

앞 혹은 좌측 전방 LRF 감지 조건문

우측 전방 LRF 감지 조건문

Page 26: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

다음으로 맨위 If엑티버티의 조건문이 참일 경우에 대한 출력 연결단자를 각각 그림과 같이 해당 이동로봇 회전각도 및 속도 지정을 위한 Data엑티버티와 Join엑티버티들을 그림과 다이어그램에 추가한 후 연결합니다. Data엑티버티들과 연결된 Join 엑티버티에서 각도 및 속도 값임을 명확히 하기 위해 Join내부의 메시지 이름을 각각 degree와 power로 변경합니다.

Simple Vision 서비스를 이용한 로봇제어

Data엑티버티 및 Join, Merge엑티버티를 이용한 회적 각도 및 속도 지정

우측으로 30도 회전을 위한 Data 및 Join엑티버티

좌측으로 30도 회전을 위한 Data및 Join엑티버티

Page 27: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

다음으로 두 Join엑티버티의 출력을 Merge엑티버티를 이용해 하나로 묶어서 Generic Differential Drive서비스와 연결합니다. 이때 나타나는 Connections 연결 창에서 이들 값을 회전각도 명령으로 보내기 위해 ForwardedOuput을 RotateDegrees로 선택해 연결한 후 Data Connections 창에서 각각 degree와 power를 설정해 줍니다.

Simple Vision 서비스를 이용한 로봇제어

Merge엑티버티를 이용한 Generic Differential Drive서비스와 연결

Page 28: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

다음으로 위 두 경우가 아닐 경우 좌측 전진 진행을 위한 두 개의 Data엑티버티 추가하고 각각 0.2와 0.25를 입력한 후, Join을 이용해 연결을 묶어줍니다. 그 다음 그림과 같이 다이어그램에 있는 Generic Differential Drive 서비스를 복사해 다이어그램에 추가한후 Join 출력과 연결합니다. 이때 나타나는 Connections 연결 창에서 좌측 전진을 위한 SetDrivePower를 선택해 연결한 후, Data Connections 창에서 left, right를 각각 LeftWheelPower와 RightWheelPower에 지정하여 두 바퀴로 속도 명령이 보내지게 합니다.

Simple Vision 서비스를 이용한 로봇제어

위 두 경우가 아닐 경우 좌측 전진 진행을 위한 Data엑티버티 추가 및 Generic Differential Drive서비스와 연결

Page 29: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이동로봇 P3DX 시뮬레이션 매니페스트 지정하기

다이어그램에서 Sick Laser Range Finder서비스와 Generic Differential Drive 서비스 모두 같은 P3DX 시뮬레이션 매니페스트 파일을 지정해야 합니다. 이를 위해서 먼저 Sick Laser Range Finder 를 마우스로 클릭한 후, VPL의 오측에 있는 속성(Properties) 툴 박스의 Configuration항목에서 그림과 같이 선택 후, import를 클릭해 MobileRobots.P3DX.Simulation.manifest.xml 선택합니다. 이 후 Generic Differential Drive 를 클릭해 속성 툴 박스를 보면 Manifest: 드롭다운 리스트에서 클릭해 확인하면 현재 다이어그램에서 선택되어진 매니페스트가 나타납니다. 이 목록에서 MobileRobots.P3DX.Simulation.manifest.xml 안에 있는 simulateddifferentialdrive를 선택합니다.(simulateddifferentialdrive in MobileRobots.P3DX.Simulation.manifest.xml )

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

1. Sick Laser Range Finder서비스로 MobileRobots.P3DX.Simulation.manifest.xml 매니페스트 선택

2. Sick Laser Range Finder서비스에 지정된 동일한 MobileRobots.P3DX.Simulation.manifest.xml 매니페스트를Manifest: 드롭다운 리스트에서 선택해 지정

Page 30: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

실습 따라해 보기

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

자 이제 저장하고 실행합니다. 시뮬레이션이 실행된 후 LRF센서의 감지된 값이 없으므로 좌측으로 전진하다가 장애물이 검출되면 반대방향으로 회전하는 것을 볼 수 있습니다. 또한 자율주행과 동시에 심플대쉬보드에서 로봇을 조종하면 로봇을 원하는 위치로 이동시킬 수 있습니다.

Page 31: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이제 LRF 로봇제어 응용의 마지막으로 P3DX 로봇 시뮬레이션 LRF를 이용한 고급 자율주행을 살펴보겠습니다. 먼저 360개의 개개 LRF스캔데이터를 모두 사용하는 것은 자율주행에 있어 매우 복잡하고 비효율 적입니다. 따라서 이번 실습에서는 이를 그림과 같이 LRF 스캔 데이터를 세 개의 구역(Left, right, center)으로 구분해 처리하여하는 자율주행을 보여줍니다. 이번 실습은VPL다이어그램은 기존 실습과는 달리 Activity로

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

(4) P3DX 로봇 시뮬레이션 LRF를 이용한 고급 자율주행

LRF 스캔 데이터를 세 개의 구역(Left, right, center)으로 구분해 처리함

Right (3/8 = 67.5°)

Left (3/8 = 67.5°)

Center (2/8 = 45°)

각 구역별로 가장 가까운 거리 값을 대표로 선택함

Page 32: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

LRF를 이용한 고급 로봇 자율주행 알고리즘은 다음과 같습니다. -각 구역에 대해 가장 가까운 가까운 거리 값을 대표로 선택 -Center구역의 거리 값이 지정된 문턱값(threshold)보다 크면 직진 (1) -Left 구역이 거리 값이 Right 구역 거리 값보다 크면 왼쪽회전 (2) -위 두 조건이 아닌 경우 Turn right (3)

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

고급 로봇 자율주행 알고리즘 개념도

고급 로봇 자율주행 알고리즘 -각 구역에 대해 가장 가까운 가까운 거리 값을 대표로 선택 -Center구역의 거리 값이 지정된 문턱값(threshold)보다 크면 직진 (1) -Left 구역이 거리 값이 Right 구역 거리 값보다 크면 왼쪽회전 (2) -위 조건이 아닌 경우 오른쪽회전(3)

(3) (1) (2)

Page 33: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이번 실습에선 Activity 엑티버티를 이용해 세 개의 activity로 알고리즘을 구성합니다. *이번 실습은 복잡하기 때문에 따라하지 않고 준비된 VPL프로젝트인 15_VplExplorer.zip를 다운받아 압축해제 후 디렉토리 안에 있는 VplExplorer.mvpl 더블클릭해 프로젝트를 연 후 확인하고 실행해 봅니다.

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

Activity 엑티버티를 이용해 세 개의 activity로 알고리즘을 구성함 -LaserRangeFinder 엑티버티 LRF센서 데이더를 처리하고 각 구역별로 가장 가까운 값을 찾아냄 -AutoDrive 엑티버티를 Center, Left, Right구역별 대표 값을 입력 받아 움직임을 결정 -메인 다이어그램(Main diagram_) LaserRangeFinder 엑티버티와 AutoDrive 엑티버티를 이용해 로봇을 제어함

메인 다이어그램(Main diagram_)

15_Lego_NXT_Simulation.zip을 다운로드해서 프로젝트를 VPL 에서 불러들인 후 학습한다.

Page 34: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

LaserRangeFinder 엑티버티는 엑티버티 시작시 실행될 다이어그램인 Start Action와 FindNearest Action으로 구성됩니다. 외부에서는 FindNearest 알림 출력 연결을 결과 값으로 받아 사용하게 됩니다.

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

LaserRangeFinder 엑티버티: Start Action

LaserRangeFinder 엑티버티: FindNearest Action

Page 35: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

Center, Left, Right구역별 대표 값을 입력 받아 움직임을 결정하는 AutoDrive 엑티버티는 그림과 같습니다.

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

AutoDrive 엑티버티

Page 36: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

실습 따라해 보기

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

다이어그램을 실행하면 세 개의 엑티버티로 구성된 고급 자율주행 알고리즘을 이용해 P3DX로봇이 LRF센서의 감지된 값을 이용해 장애물을 피하면서 자연스럽게 주행하는 것을 볼 수 있습니다.

15_Lego_NXT_Simulation.zip을 다운로드해서 실행해 본다.

15회차3.avi 동영상을 플레이 시켜 따라해 본다.

Page 37: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

37

문제 : 다음 중 Sick Laser Range Finder 서비스의 설명으로 잘못된 것은?

① 레이져 센서를 이용한 거리측정 센서를 위한 서비스 ② 측정된 거리 값들을 알림 출력 연결로 결과값 출력 ③ 측정범위 180°, 해상도 0.5°,최대 측정거리 8m ④ 실재 로봇만 사용가능

정답: 4번

해설: Sick Laser Range Finder 서비스는 매니페스트를 변경하여 실재 센서 혹은

시뮬레이션 센서 모두 사용이 가능합니다.

정답 확인

돌발! 퀴즈~

돌발퀴즈

Page 38: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

38

Lesson. Simple Vision 서비스를 이용한 로봇제어 응용

VPL에서 Simple Vision 서비스를 이용한 로봇제어 응용방법들에 대해 학습해 보겠습니다.

1. Simple Vision 서비스를 이용한 로봇제어 응용

레슨소개

Page 39: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

이번에는 Simple Vision 서비스를 이용한 로봇제어 응용을 배워보겠습니다. Simple Vision 서비스는WebCam을 통해 입력된 영상에 대한 영상처리 서비스입니다. -칼라기반(Normalized RGB)의 영상처리 -조명변화에 강인한 색상영역 검출 -피부색상 모델및 형상분석을 통한 얼굴검출 -움직임과 얼굴검출에 기반한 제스쳐 검출

1. Simple Vision 서비스를 이용한 로봇제어 응용 (1) Simple Vision 서비스

Simple Vision 서비스를 이용한 로봇제어

WebCam을 통해 입력된 영상에 대한 영상처리 서비스 -칼라기반(Normalized RGB)의 영상처리 -조명변화에 강인한 색상영역 검출 -피부색상 모델 및 형상분석을 통한 간단한 얼굴검출 -움직임과 얼굴검출에 기반한 제스쳐 검출

Simple Vision 서비스 위치와 모양

Page 40: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

Simple Vision 서비스를 Services 툴 박스에서 마우스로 끌어다가 놓으십시오. Simple Vision 서비스의 알림 출력 연결단자를 If 엑티버티로 연결합니다. 이때 Connections 창에서 색상영역 출력결과를 받어오기 위해 DetecColoredObject를 선택합니다.

Simple Vision 서비스를 이용한 로봇제어

다이어그램에 Simple Vision 서비스 및 If 엑티버티 추가 및 연결

(2) Simple Vision 서비스를 이용한 색상영역 검출

Page 41: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

결과값 출력을 Calculate 엑티버티 및 Log서비스 추가하고 연결합니다. 먼저 Calculate 엑티버티에 결과값 출력을 위한 문자열 계산식을 그림과 같이 입력합니다. 다음으로 결과 출력을 위한 Log서비스를 연결합니다. 이때 Connections 및 Data Connections 창에서 각각 LogInfo와 value를 선택합니다.

Simple Vision 서비스를 이용한 로봇제어

Calculate 엑티버티 및 Log서비스 추가 및 연결

결과값 출력을 위한 문자열 계산식 입력

Page 42: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

다이어그램이 완성되었습니다. Generic Contact Sensors 와 연결될 매니페스트로 P3DX 시뮬레이션을 지정합니다. Generic Contact Sensors 를 마우스로 클릭한 후, VPL의 오측에 있는 속성(Properties) 툴 박스의 Configuration항목에서 그림과 같이 선택 후, import 버튼을 클릭해 연결해 사용하고자 하는 iRobot.Create.Simulation.Mafinest.xml 선택합니다.

Simulated Generic Differential Drive가 사용가능한 매니페스트 목록

접촉 센서 및 LRF(Laser Range Finder) 로봇제어

SimpleVision 매니페스트 지정하기

Page 43: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

15회차4.avi 동영상을 플레이 시켜 따라해 본다.

실습 따라해 보기

Simple Vision 서비스를 이용한 로봇제어

자 이제 저장하고 실행합니다. Simple Vision 서비스, 시뮬레이션 및 심플대쉬보드 창들이 차례로 화면에 나타납니다. 먼저 시뮬레이션 환경에 있는 이동로봇 P3DX를 조종하기 위해 심플대쉬보드를 Connect버튼을 눌러 연결한 후 Drive를 활성화 시킵니다. 다음으로 검출 대상 색상영역 학습을 위해 Simple Vision서비스의 로봇 영상화면에서 빨간 공이 보이도록 로봇을 움직입니다.

Page 44: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

Simple Vision 서비스를 이용한 로봇제어

검출 대상 색상영역 학습방법을 따라 빨간 공을 학습시킨 뒤, VPL의 Run 창을 확인하면 검출된 결과값이 출력됨을 확인할 수 있습니다.

1. 검출 대상 색상영역 학습방법 1. SimpleDashBoard를 이용해 학습시킬 대상을 찾는다 2. 학습시킬 대상의 중심 부분을 왼쪽 마우스를 누른 체 움직이면 원이 생성됨 3. TrainColor 버튼을 클릭하여 값을 저장시킴.저장된 색상값이 우측에 표시됨

2. 검출된 색상영역이 Run창에 출력됨

Page 45: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

45

문제 : 다음 중 Simple Vision 서비스의 설명으로 잘못 된 것은? ① 시뮬레이션 환경에서만 동작가능 ② 칼라기반(Normalized RGB)의 영상처리 ③ 피부색상 모델 및 형상분석을 통한 간단한 얼굴검출 ④ 움직임과 얼굴검출에 기반한 제스쳐 검출

정답: 1번

해설: Simple Vision 서비스는 매니페스트를 변경하여 실재 로봇에 장착된 WebCam카메라 혹은

시뮬레이션환경의 SimulatedWebcam 카메라 모두 사용이 가능합니다.

정답 확인

돌발! 퀴즈~

돌발퀴즈

Page 46: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

46

1. Text To Speech 서비스

-MSRDS에서 기본으로 제공하는 문자를 음성으로 바꾸어 출력하는 서비스입니다.

-기본으로 영어를 남성음성을 출력

-한글음성출력을 위해서는 상용 음성엔진을 구입해 추가로 설치해야 함

2. Sick Laser Range Finder 서비스

-레이져 센서를 이용한 거리측정 센서(Distance measurement device)를 위한 서비스

-측정된 거리 값들을 알림(notification) 출력 연결로 결과값 출력

-측정범위 180°, 해상도 0.5°,최대 측정거리 8m

3. Simple Vision 서비스

-WebCam을 통해 입력된 영상에 대한 영상처리 서비스

-칼라기반(Normalized RGB)의 영상처리

-조명변화에 강인한 색상영역 검출

-피부색상 모델 및 형상분석을 통한 간단한 얼굴검출

-움직임과 얼굴검출에 기반한 제스쳐 검출

4. LEGO NXT 로봇 시뮬레이션 범퍼를 이용한 미로탐색 알고리즘

-먼저 Tribot 앞쪽에 장착된 접촉센서가 눌려질 때 까지 전진

-접촉센서가 눌리면(전방에 벽이 감지됨) 90도 회전한 후 전진 -접촉센서가 눌리고 5초 이내에 다시 접촉센서가 눌려지면 180도 회전 후 전진

학습요약 및 정리

학습요약 및 정리

Page 47: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

47

5. P3DX 로봇 시뮬레이션과 Sick Laser Range Finder 서비스를 이용한 로봇 자율주행 알고리즘

-이동로봇 파이오니어 P3DX 시뮬레이션의 특징

• 장애물 검출을 위한 LRF센서(Laser range finder) 시뮬레이션

• 카메라 영상 입력을 위한 WebCam서비스 시뮬레이션

• 이륜 차동 구동부(Two-wheel differential drive) 시뮬레이션

• 실재 로봇과 유사한 시뮬레이션 가능

-기본 자율주행 알고리즘

• 앞 혹은 좌측 전방 LRF 감지되면, 우측으로 회전

• 우측 전방 LRF 감지되면, 좌측으로 회전

• 위 두 경우가 아닐 경우 좌측방향으로 전진 진행

-고급 자율주행 알고리즘

• 각 구역에 대해 가장 가까운 가까운 거리 값을 대표로 선택

• Center구역의 거리 값이 지정된 문턱값(threshold)보다 크면 직진

• Left 구역이 거리 값이 Right 구역 거리 값보다 크면 왼쪽회전

• 위 조건이 아닌 경우 오른쪽 회전

학습요약 및 정리

출력하기

학습요약 및 정리

Page 48: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

48

문제 2 : 다음 중 LEGO NXT 로봇 시뮬레이션 범퍼를 이용한 미로탐색 알고리즘에 포함되지 않는 것은?

① 먼저 Tribot 앞쪽에 장착된 접촉센서가 눌려질 때 까지 전진 ② 접촉센서가 눌리면(전방에 벽이 감지됨) 90도 회전한 후 전진 ③ 접촉센서가 눌리고 5초 이내에 다시 접촉센서가 눌려지면 180

도 회전 후 전진 ④ 접촉센서가 눌려질 때 까지 90도 회전

학습하시느라 수고하셨습니다. 다음의 문제를 풀어보면서 학습한 내용을 점검해볼까요? 아래의 문제에 답해보세요.

정답: 3 번

해설: Text To Speech 서비스는 기본으로 영어만 지원하며 한글은 음성엔진을 추가로 설치해야 합니다.

관련학습 보기: Page 6

접촉 센서 및 LRF(Laser Range Finder) 로봇제어 응용

평가하기

문제 1 : 다음 중 Text To Speech 서비스의 설명으로 잘못된 것은? ① MSRDS에서 기본으로 제공하는 문자를 음성으로 바꾸어 출력

하는 서비스 ② 기본으로 영어 남성음성을 출력 ③ 한글음성출력을 기본으로 사용가능 ④ 상용 음성엔진을 구입해 추가로 설치 가능함

정답: 4 번

해설: 접촉센서가 눌려질 때 까지 90도 회전하는 것은 범퍼를 이용한 미로탐색 알고리즘에

포함되지 않습니다.

관련학습 보기: Page 12

접촉 센서 및 LRF(Laser Range Finder) 로봇제어 응용

Page 49: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

49

정답: 4

해설: MSRDS에서 제공하는 파이오니어 P3DX 로봇 시뮬레이션은 실재 로봇과 유사하긴 하나

완벽히 일치하지는 않습니다.

평가하기

문제 3 : 다음 중 이동로봇 파이오니어 P3DX 시뮬레이션의 특징이 아닌 것은?

① 장애물 검출을 위한 LRF센서(Laser range finder) 시뮬레이션 ② 카메라 영상 입력을 위한 WebCam서비스 시뮬레이션 ③ 이륜 차동 구동부(Two-wheel differential drive) 시뮬레이션 ④ 실재 이동로봇과 완벽히 일치하는 시뮬레이션 로봇

관련학습 보기: Page 20

접촉 센서 및 LRF(Laser Range Finder) 로봇제어 응용

Page 50: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

50

이번 시간에는 시뮬레이션 로봇제어 응용에 대해 학습하였습니다. 1. 접촉 센서 및 LRF(Laser Range Finder) 로봇제어 응용 2. Simple Vision 서비스를 이용한 로봇제어 응용

다음 시간에는 이동로봇 KR2008을 이용한 VPL로봇제어1에 대해 학습하도록 하겠습니다. 1. KR2008을 이용한 VPL 기본 로봇제어1 2. KR2008을 이용한 VPL 기본 로봇제어2

학습마무리

Page 51: 시뮬레이션 로봇제어elearning.kocw.net/contents4/document/lec/2013/Mokwon/... · 2014-03-26 · 시뮬레이션 LEGO NXT Tribot 미로탐색 실행 결과 접촉 센서 및

회차 제목

학습 흐름 제목

<이벤트 설명>

<용어 설명>

<내레이션>

시뮬레이션 로봇제어 응용

51

쉼터

최근 의료분야에서도 ‘로봇수술’이 각광 받고 있습니다. 하지만 이러한 고가의 로봇수술시스템을 훈련 없이 바로 사용할 수 있는 의사는 아마도 없을 것입니다. 따라서 시뮬레이션 기법을 이용한 연습용 시스템이 이러한 로봇수술 훈련 시스템으로 사용되고 있습니다. 다음의 기사들을 읽어보며 지금까지 배운 로봇 시뮬레이션을 중요성을 인지하고 학습내용들을 한번 떠올려 봅시다.

출처 : 병원신문 http://www.khanews.co.kr/inews/news_left.asp?menuID=7&idx=56001

亞 최초 로봇수술 3D 시뮬레이션 교육 고대안암병원 로봇수술센터가 로봇수술 3D 시뮬레이션 교육장비를 도입하고 본격적인 교육에 들어갔다. 안암병원이 도입한 가상 로봇수술장비인 ‘다빈치 로봇수술 시뮬레이팅 트레이너(dV-Trainer, 美 MIMIC社)’는 다빈치와 동일한 조작과 실감나는 화면으로 실제 로봇수술과 동일한 실습을 가능하게 하는 교육용 도구다. 특히 다빈치 시뮬레이팅 트레이너는 개인별 연습데이터 수집과 피드백이 가능하도록 만들어졌고 로봇팔을 이용한 물체이동과 같은 간단한 움직임부터 절개, 봉합 등의 실제 수술상황까지 연습할 수 있어 수준별 학습이 가능하다. 다빈치는 현재 전세계에 약 1천200대가 보급됐지만 별도의 실습장비가 없이 이를 배우기 위해서는 막대한 비용이 든다. 따라서 미국에서는 교육비용을 절감시키기 위하여 시뮬레이팅 장비를 적극적으로 개발/도입하고 있으며 아시아에서는 고대안암병원이 최초로 이 기법을 도입함으로서 첨단 3D기법을 이용해 실제와 동일하게 실습이 가능해 로봇수술의 활용도를 극대화할 원동력이 될 것으로 기대되고 있다.

‘로봇 의사’ 각광 정교한 손놀림에 출혈 거의 없이 ‘수술 척척’ 복강경으로 접근 어려운 전립선·직장 수술에 적합 대형병원들 잇따라 도입… 비싼 수술비가 걸림돌

출처 : 조선일보 http://www.chosun.com/site/data/html_dir/2007/08/25/2007082500011.html


Recommended