“ROS를 이용한 드론 어플리케이션 개발”교육 과정 안내

□ 교육 목표

○ 대표 로봇 소프트웨어 플랫폼 ROS를 활용한 로봇제어의 개념과 기본을 이해하고, 이것을 비행 로봇 플랫폼(드론)에 적용, 발전시킨 드론 운용 어플리케이션을 만들어 본다.

□ 과정 개요

○ 과정명 : ROS를 이용한 드론 어플리케이션 개발

○ 수강인원 : 15명

○ 교육장소 : 동국대학교

○ 교육기간 : 10일, 70시간( 7시간/일 × 10일 )

○ 강의수준 : Beginner ∼ Intermidiate

○ 선수지식

- 필수 : 기본 컴퓨터 활용능력

- 권장 : 기본 컴퓨터 활용능력 + 파이썬 프로그래밍

○ 교재 : ROS를 이용한 드론 어플리케이션 개발(제본 및 PDF 제공)

○ 실습 tool

- H/W : Parrot Bebop2 드론

- S/W : Python, ROS Melodic, Ubuntu 18.04 LTS

□ 강의 계획

일 정	교 육 내 용
1일차	[오전 시간 : 10:00 ~ 12:00] ○ 과정 안내 및 개발환경 구축 – 우분투 설치 및 설정
	[오후 시간 : 13:00 ~ 18:00] ○ 개발환경 구축 – ROS 설치 및 설정 ○ turtlesim 구동을 통한 메세지통신의 이해
2일차	[오전 시간 : 10:00 ~ 12:00] ○ Topic Publisher 와 Subscriber ○ Service Server 와 Client
	[오후 시간 : 13:00 ~ 18:00] ○ turtlesim 원격제어 노드 작성 ○ 작성한 원격제어 노드로 다른 컴퓨터에서 구동된 turtlesim 제어
3일차	[오전 시간 : 10:00 ~ 12:00] ○ Bebop2 드론 제어를 위한 ROS 노드 패키지(bebop_autonomy) 설치
	[오후 시간 : 13:00 ~ 18:00] ○ Bebop2 드론 Simulator(Sphinx) 설치 ○ Bebop2 드론 원격 제어 노드 작성
4일차	[오전 시간 : 10:00 ~ 12:00] ○ Bebop2 드론 고도 제어 노드 작성
	[오후 시간 : 13:00 ~ 18:00] ○ Bebop2 주어진 거리에 따른 직선 이동 노드 작성 ○ Bebop2 주어진 각도에 따른 회전 노드 작성 ○ Bebop2 회전 각도와 거리를 입력 받아 이동하는 노드 작성
5일차	[오전 시간 : 10:00 ~ 12:00] ○ 방위각 정보 Subscriber 작성 ○ 방위각을 이용한 회전 코드 작성
	[오후 시간 : 13:00 ~ 18:00] ○ GPS 정보 Subscriber 작성 ○ 웹페이지에 실시간 드론 위치 표시 구현 ○ 주어진 GPS 위치로 이동 노드 구현
6일차	[오전 시간 : 10:00 ~ 12:00] ○ AR Marker 패키지(AR Track Alvar) 설치 ○ Camera Calibration
	[오후 시간 : 13:00 ~ 18:00] ○ 드론을 이용한 AR Marker 인식을 위한 Launch 파일 작성 ○ 드론을 이용한 AR Marker 인식 ○ AR Marker Topic 분석을 통한 마커와 드론의 거리 및 위치관계 산출
7일차	[오전 시간 : 10:00 ~ 12:00] ○ AR Marker Topic 을 이용한 드론 제어
	[오후 시간 : 13:00 ~ 18:00] ○ 간단한 AR Marker Tracking 구현
8~10일	[오전 시간 : 10:00 ~ 12:00, 오후 시간 : 13:00 ~ 18:00] 미니 프로젝트 – AR Marker를 이용한 드론 제어 주어진 GPS 위치로 이동 후, 목표 지점에 설치된 마커들 중에서 타겟 마커 앞에 놓인 물체를 수거하여 출발 지점으로 복귀하는 기능을 구현한다. GPS 위치로 이동 및 복귀 기능은 Gazebo시뮬레이터에서 검증한다. 마커 탐색 및 수거는 실내에 세트를 꾸며 검증한다. 전체 미션 수행에 소요된 시간이 가장 적은 1팀 선발, 포상.