Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL 로봇...

45
Microsoft Robotics Developer Studio 고고 고고고고고 고고 [Part 3] VPL 고고 고고고고고 2008 로로로로 로로 로로로로로로로 로 로 로 로로 [email protected]

description

Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL 로봇 프로그래밍. 2008 로보틱스 그룹 마이크로소프트. 김 영 준 수석 [email protected]. VPL 기본 로봇 프로그래밍. 기본 로봇 조종하기. 도전 과제 아래 주어진 엑티버티와 서비스를 이용하여 로봇을 조종해 보기 바람. 메니페스트 지정하기. 도전 과제 아래 주어진 엑티버티와 서비스를 이용하여 로봇을 조종해 보기 바람. 화면 우측의 속성 창에서 - PowerPoint PPT Presentation

Transcript of Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL 로봇...

Page 1: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

Microsoft Robotics Developer Studio

고급 프로그래밍 과정

[Part 3] VPL 로봇 프로그래밍

2008로보틱스 그룹

마이크로소프트

김 영 준 수석[email protected]

Page 2: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

2Microsoft Robotics Studio

VPL 기본 로봇 프로그래밍

Page 3: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

3Microsoft Robotics Studio

기본 로봇 조종하기

도전 과제 아래 주어진 엑티버티와 서비스를 이용하여 로봇을 조종해 보기 바람

Page 4: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

4Microsoft Robotics Studio

메니페스트 지정하기

도전 과제 아래 주어진 엑티버티와 서비스를 이용하여 로봇을 조종해 보기 바람

화면 우측의 속성 창에서Use a manifest 를 선택함

Page 5: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

5Microsoft Robotics Studio

메니페스트 지정하기

도전 과제 아래 주어진 엑티버티와 서비스를 이용하여 로봇을 조종해 보기 바람

Page 6: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

6Microsoft Robotics Studio

Simple Dashboard

localhost Localhost 입력

Page 7: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

7Microsoft Robotics Studio

Simple Dashboard

더블 클릭

Page 8: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

8Microsoft Robotics Studio

Simple Dashboard

클릭

마우스로 조종

Page 9: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

9Microsoft Robotics Studio

실행 결과

Page 10: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

10Microsoft Robotics Studio

미로 찾기 시뮬레이션 설치

소스코드 다운로드 및 설치 http://cafe.nav er.com /m srskorea의 시뮬레이션 게시판 /samples/MazeExplorer 에 설치

Visual Studio 에서 오픈한 후 컴파일

컴파일 후에 VPL 을 실행해 보면 아래와 같이 서비스가 설치됨

Page 11: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

11Microsoft Robotics Studio

미로 찾기 서비스 실행하기

VPL 을 통한 미로찾기 서비스 실행하기 가장 간단한 실행 다이어그램

Page 12: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

12Microsoft Robotics Studio

미로 생성 UI #1

Draw Mode 를 클릭한 후 미로를 마우스로 그림

수정이 필요한 부분은 Erase Model 를 누른 후에 수정

Page 13: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

13Microsoft Robotics Studio

미로 생성 UI #2

Set Start Position 을 눌러 시작 위치를 지정함( 노란색 원으로 표시 )

Set Target Position 을 눌러 로봇이 도착해야할 위치를 지정( 옵션 사항임 , 파란색 원으로 표시 )

Page 14: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

14Microsoft Robotics Studio

미로 생성 UI #3

필요시 Save Map 버튼을 눌러작성한 Map 을 저장함

저장된 Map 을 불러올 때 사용함

Page 15: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

15Microsoft Robotics Studio

미로 생성 UI #4

Map 생성이 완료된 후 Build Map버튼을 클릭하여 시뮬레이션 환경으로Map 정보를 전송함

Page 16: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

16Microsoft Robotics Studio

Map Build 후에 시뮬레이션 생성 결과

Page 17: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

17Microsoft Robotics Studio

미로 생성 UI #5

Start 를 눌러 로봇에 초기 움직임을 만들어 줌

로봇을 정지시키기 위해 사용함

로봇을 다시 초기 위치로 이동시킴

Page 18: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

18Microsoft Robotics Studio

미로 생성 UI #6

로봇에 추가되어 있는 두 개의 카메라의 각도를 제어함

Page 19: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

19Microsoft Robotics Studio

Drive 서비스 이용하기

도전 과제 아래 주어진 엑티버티와 서비스를 이용하여 로봇을 조종해 보기 바람

Page 20: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

20Microsoft Robotics Studio

로봇 주행 제어

Drive 서비스와 Data 서비스를 이용해 로봇 제어

Page 21: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

21Microsoft Robotics Studio

로봇 조종기 만들기

Page 22: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

22Microsoft Robotics Studio

범퍼 센서 이용하기

도전 과제 아래 주어진 엑티버티와 서비스를 이용하여 범퍼 센서의 값을 읽은 후에

범퍼 신호가 감지되면 로봇을 뒤로 이동시키기 바람

Page 23: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

23Microsoft Robotics Studio

범퍼의 값 읽어오기

Page 24: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

24Microsoft Robotics Studio

범퍼 센서 이용하기

도전 과제 앞 범퍼 신호가 감지되면 로봇을 뒤로 이동시키고 , 뒤 범퍼가 감지되면

로봇을 앞으로 이동시키기 바람

Page 25: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

25Microsoft Robotics Studio

범퍼 활용을 위한 기본 VPL 다이어그램

전진 및 후진

Page 26: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

26Microsoft Robotics Studio

LRF 센서 이용하기

도전 과제 LRF 센서를 이용하여 , 전방 1M 이내에 물체가 감지되면 로봇을 뒤로

이동시킬 것

Page 27: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

27Microsoft Robotics Studio

기본적인 LRF 감지 방법

180 도 각도에 대해 0.5 도 별로 거리데이터를 전달

0 번째 값359 번째 값

179 번째 값

값은 밀리미터 값이며 최대 8M(8000) 값을 가짐

Page 28: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

28Microsoft Robotics Studio

LRF 센서의 값 읽어오기

Page 29: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

29Microsoft Robotics Studio

LRF 센서 이용하기

도전 과제 LRF 센서를 이용하여 , 우측 전방 45 도 각도의 1M 이내에 물체가

감지되면 로봇을 좌측으로 회전시킬 것

LRF 센서를 이용하여 , 좌측 전방 45 도 각도의 1M 이내에 물체가 감지되면 로봇을 우측으로 회전시킬 것

Page 30: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

30Microsoft Robotics Studio

VPL 고급 로봇 프로그래밍

Page 31: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

31Microsoft Robotics Studio

범퍼 센서 이용한 고급 제어

도전 과제 미로 내에서 로봇을 자율 주행 시킬 것

전방 범퍼 감지되면 , 후진 후 우측으로 회전 , 전진 진행 후방 범퍼 감지되면 , 후진 후 좌측으로 회전 , 전진 진행

Page 32: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

32Microsoft Robotics Studio

범퍼 활용을 위한 기본 VPL 다이어그램 #1

일정 거리 후진

Page 33: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

33Microsoft Robotics Studio

범퍼 활용을 위한 기본 VPL 다이어그램 #2

일정 거리 전진

Page 34: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

34Microsoft Robotics Studio

범퍼 활용을 위한 기본 VPL 다이어그램 #3

우측으로 회전

Page 35: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

35Microsoft Robotics Studio

범퍼 활용을 위한 기본 VPL 다이어그램 #4

좌측으로 회전

Page 36: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

36Microsoft Robotics Studio

범퍼 활용을 위한 기본 VPL 다이어그램 #5

전진

Page 37: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

37Microsoft Robotics Studio

범퍼 활용을 위한 기본 VPL 다이어그램 #6

전체 연결 다이어그램

Page 38: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

38Microsoft Robotics Studio

LRF 센서 이용한 고급 제어

도전 과제 미로 내에서 로봇을 자율 주행 시킬 것

앞 및 좌측 전방 감지되면 , 우측으로 회전 , 전진 진행 우측 전방 감지되면 , 좌측으로 회전 , 전진 진행

Page 39: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

39Microsoft Robotics Studio

기본적인 LRF 감지 방법

180 도 각도에 대해 0.5 도 별로 거리데이터를 전달

0 번째 값359 번째 값

179 번째 값

값은 밀리미터 값이며 최대 8M(8000) 값을 가짐

Page 40: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

40Microsoft Robotics Studio

기본적인 LRF 감지 다이어그램

0 번째 값 ( 우측 방향 ) 의 값을 출력함

Page 41: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

41Microsoft Robotics Studio

좌측 회전 다이어그램

Page 42: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

42Microsoft Robotics Studio

우측 회전 다이어그램

Page 43: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

43Microsoft Robotics Studio

전진 다이어그램

Page 44: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

44Microsoft Robotics Studio

전체 연결 다이어그램

Page 45: Microsoft Robotics Developer Studio 고급 프로그래밍 과정 [Part 3] VPL  로봇 프로그래밍

45Microsoft Robotics Studio

다중 센서를 이용한 고급 제어

도전 과제 미로 내에서 로봇을 자율 주행 시킬 것

후방 범퍼와 LRF 를 모두 적용한 로봇 제어 프로그램 작성할 것