"햇살론"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(상세설계 내용)
(상세설계 내용: 5371, 6340~6366 임준영)
138번째 줄: 138번째 줄:
  
 
====드론 조작====
 
====드론 조작====
  - MAVSDK-Python 라이브러리 사용
+
- MAVSDK-Python 라이브러리 사용
  - OpenCV를 통해 인식된 트랙의 가운데 지점이 화면의 가운데 지점과 x축, y축으로 얼마나 떨어져 있는지와 아크 탄젠트 함수를 사용해서 변경해야 할 각도 판단
+
- OpenCV를 통해 인식된 트랙의 가운데 지점이 화면의 가운데 지점과 x축, y축으로 얼마나 떨어져 있는지와 아크 탄젠트 함수를 사용해서 변경해야 할 각도 판단
  - 이동할 각도에 이동속도와 삼각함수를 사용해서 x축과 y축으로의 이동 방향 결정
+
- 이동할 각도에 이동속도와 삼각함수를 사용해서 x축과 y축으로의 이동 방향 결정
  
 
====이미지 분석====
 
====이미지 분석====
  - OpenCV를 통해 전면의 카메라 이미지를 분석
+
- OpenCV를 통해 전면의 카메라 이미지를 분석
  - Sliding Window 방식을 이용하여, 이미지상의 곡선과 직선의 좌표를 알아내어 드론의 위치를 조정
+
- Sliding Window 방식을 이용하여, 이미지상의 곡선과 직선의 좌표를 알아내어 드론의 위치를 조정
  - 노이즈, 이미지 분석의 완성도를 위해서 마스킹, 가우시안 필터 등의 기법을 적용
+
- 노이즈, 이미지 분석의 완성도를 위해서 마스킹, 가우시안 필터 등의 기법을 적용
  
 
====통신 앱====
 
====통신 앱====
  - 드론의 속도/제한 시간 등을 동적으로 설정하기 위한 리액트 앱 제작
+
- 드론의 속도/제한 시간 등을 동적으로 설정하기 위한 리액트 앱 제작
  - http 프로토콜로 연결, 웹소켓 통신을 하기 위해 시뮬레이터의 IP 주소를 전달받아 기기로 전달
+
- http 프로토콜로 연결, 웹소켓 통신을 하기 위해 시뮬레이터의 IP 주소를 전달받아 기기로 전달
  - aws-s3 를 이용한 웹 호스팅 이용
+
- aws-s3 를 이용한 웹 호스팅 이용
  
 
==결과 및 평가==
 
==결과 및 평가==

2021년 6월 20일 (일) 06:00 판

프로젝트 개요

기술개발 과제

국문 : 드론을 이용한 페이스메이커

영문 : Pacemaker using Drones and Computer Vision

과제 팀명

햇살론

지도교수

정형구 교수님

개발기간

2021년 3월 ~ 2021년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 20158710** 김*현

서울시립대학교 컴퓨터과학부 20159200** 김*원

서울시립대학교 컴퓨터과학부 20159200** 김*완

서울시립대학교 컴퓨터과학부 20159200** 임*영

서론

개발 과제의 개요

개발 과제 요약

- 컴퓨터에서 ROS 커맨드를 통해 Pixhawk 드론을 컨트롤한다.
- JMAVSIM 또는 Gazebo 등 시뮬레이터를 이용하여 테스트한다.
- OpenCV를 사용하여 카메라를 통해 받아진 영상을 컴퓨터로 인식 처리한다.
- 드론 조작에 필요한 초기 파라미터를 배포된 웹 앱을 통해서 받는다.

개발 과제의 배경

- 현대인들에게 운동은 필수적인 여가활동으로 자리 잡았으며, 그중 가벼운 달리기를 즐기는 사람들은 점점 늘어나고 있다.
- 이런 달리기를 하는 러너들에게 일정한 속도를 유지하며 달리는 훈련이 필요하다.
- 현재 러너들은 스마트워치나 스마트폰의 앱을 이용하여 훈련하지만, 이 방식은 달리기 중의 집중력을 떨어뜨리고, 자세를 무너뜨리는 단점이 존재한다.
- 현재 주목받는 기술인 드론을 활용하여 실생활에 도움이 되는 기능을 제작한다.

개발 과제의 목표 및 내용

- 트랙의 레인을 인식해서 드론이 가야 할 길을 스스로 인식한다.
- 드론은 사용자가 설정한 속도와 시간 동안 트랙을 자율적으로 주행한다. 
- 사용자가 웹을 통해 드론의 설정값을 동적으로 입력 할 수 있다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

내용

  • 특허조사 및 특허 전략 분석

내용

  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

- 드론 프로그래밍 기술이 현실에서 쉽게 접할 수 있게 됨으로써 한국의 드론 개발에 대한 관심도를 높일 수 있다.
- 배터리 발전, 드론 소형화로 드론이 보편화 될 수 있는 환경에서의 유용한 드론 프로그램의 예시를 제공한다

경제적, 사회적 기대 및 파급효과

- 현재 주목받고 있음에도 불구하고 비싼 장난감 정도로만 인식되는 드론을 현실에 도움이 되는 도우미 역할로 접하게 할 수 있다.
- 운동, 건강 관련 제품의 출시는 그 자체로 사람들의 운동과 건강에 대한 관심도를 올리는 데에 한 역할을 하고 있다. 운동 보조 역할을 하는 드론을 통해 일반 시민의 자연스러운 운동 참여를 독려한다.

기술개발 일정 및 추진체계

개발 일정

3월 : 구현과제 설정, 요구사항 결정, 사용 기술 스택 및 하드웨어 스펙 조사

4월 : 사용 기술 스택 및 하드웨어 스펙 조사, 구현 방향성 설정 및 프로토타입 제작

5월 : 프로토타입 제작

- 시뮬레이션 환경에서 dronekit 라이브러리를 사용한 자율주행 코드 구동 및 구현 환경 설정
- 길찾기 알고리즘 제작(OpenCV 이미지 분석, Canny Edge Filter, Sliding Window 등 사용)

6월 : 5월 결과를 기반으로 제품 수정 및 발표 자료 제작

구성원 및 추진체계

- 임준영 : 시뮬레이션 설계, 길찾기 알고리즘 보완/수정, 드론 주행 및 통신 코드 제작
- 김진원 : 길찾기 알고리즘 제작
- 김태완 : 시뮬레이션 설계, 드론 주행 코드 제작
- 김도현 : 길찾기 알고리즘 제작, 통신 앱 제작 및 배포

설계

설계사양

제품의 요구사항

- 드론은 일정한 속도로 비행한다.
- 드론은 카메라를 통해 트랙을 인식하고, 스스로 어느 방향으로 나아가는지를 정한다.
- 드론의 속도와 비행시간 등은 웹/앱을 통해 제어가 가능하다.
- 사용자는 드론 페이스메이커를 사용하기 위해 드론에 대한 지식을 가질 필요가 없으며, 그저 웹/앱을 통해 설정을 변경하는 것만으로 드론 페이스메이커를 사용할 수 있다.

설계 사양 (하드웨어)

드론 컨트롤러

- 프로그래밍을 통한 드론 이동이 가능해야 하기 때문에 PX4 펌웨어를 탑재한 Pixhawk 컨트롤러 사용

컴패니언 컴퓨터

- 초기 목표인 실시간 이미지 처리가 가능해야 함, 이미지 연산에 어느 정도의 CPU, RAM 스펙이 필요한지 모르는 상황에서 설계
- 라즈베리 파이 4
  - CPU: Raspberry Pi 4 uses a Broadcom BCM2711 SoC with a 1.5 GHz 64-bit quad-core ARM Cortex-A72 processor, with 1 MB shared L2 cache.
  - RAM: 4GB
- 라즈베리 파이 3
  - CPU: Broadcom BCM2837 SoC with a 1.2 GHz 64-bit quad-core ARM Cortex-A53 processor, with 512 KB shared L2 cache
  - RAM: 1GB
- 카메라 2대의 동시 이미지 처리를 위해 CPU 스펙이 대폭 상승한 라즈베리 파이 4 사용, 무게는 거의 동일하기 때문에 고려하지 않음 (300g)

설계 사양 (소프트웨어)

드론 조종 코드

- MAVSDK-Python을 사용해 드론 위치 조종
- OpenCV를 사용해 경로 인식

사용자용 웹 페이지

- 웹소켓
- 드론 조종 코드에서 웹소켓 서버 오픈
- 웹서버는 드론 외부에서 열고 사용자는 컴패니언 컴퓨터와 연결된 무선인터넷의 내부 IP를 사용해서 드론의 설정값 전달

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

시뮬레이션 툴(Gazebo)에서 육상트랙을 설정해서, 카메라를 통해 트랙을 인식하여 일정 속도로 주행하는 드론 시뮬레이션 프로그램을 제작.
동작 시, 드론의 속도/제한 시간 등은 웹 또는 앱을 통해 추가로 설정할 수 있도록 함.

시뮬레이션

- SITL(Software In the Loop) 시뮬레이션을 위해 Gazebo 시뮬레이터 사용
- 시뮬레이터 안의 드론의 카메라 사용을 위해서 Typhoon H480 모델 사용
- 시뮬레이션 툴 내의 육상트랙 구축을 위해 SketchUp 모델링 툴 사용

드론 조작

- MAVSDK-Python 라이브러리 사용
- OpenCV를 통해 인식된 트랙의 가운데 지점이 화면의 가운데 지점과 x축, y축으로 얼마나 떨어져 있는지와 아크 탄젠트 함수를 사용해서 변경해야 할 각도 판단
- 이동할 각도에 이동속도와 삼각함수를 사용해서 x축과 y축으로의 이동 방향 결정

이미지 분석

- OpenCV를 통해 전면의 카메라 이미지를 분석
- Sliding Window 방식을 이용하여, 이미지상의 곡선과 직선의 좌표를 알아내어 드론의 위치를 조정
- 노이즈, 이미지 분석의 완성도를 위해서 마스킹, 가우시안 필터 등의 기법을 적용

통신 앱

- 드론의 속도/제한 시간 등을 동적으로 설정하기 위한 리액트 앱 제작
- http 프로토콜로 연결, 웹소켓 통신을 하기 위해 시뮬레이터의 IP 주소를 전달받아 기기로 전달
- aws-s3 를 이용한 웹 호스팅 이용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용