Transcript
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 를 모두 적용한 로봇 제어 프로그램 작성할 것


Top Related