"햇살론"의 두 판 사이의 차이
cdc wiki
(→상세설계 내용) |
(→상세설계 내용: 5371, 6340~6366 임준영) |
||
138번째 줄: | 138번째 줄: | ||
====드론 조작==== | ====드론 조작==== | ||
− | + | - MAVSDK-Python 라이브러리 사용 | |
− | + | - OpenCV를 통해 인식된 트랙의 가운데 지점이 화면의 가운데 지점과 x축, y축으로 얼마나 떨어져 있는지와 아크 탄젠트 함수를 사용해서 변경해야 할 각도 판단 | |
− | + | - 이동할 각도에 이동속도와 삼각함수를 사용해서 x축과 y축으로의 이동 방향 결정 | |
====이미지 분석==== | ====이미지 분석==== | ||
− | + | - OpenCV를 통해 전면의 카메라 이미지를 분석 | |
− | + | - Sliding Window 방식을 이용하여, 이미지상의 곡선과 직선의 좌표를 알아내어 드론의 위치를 조정 | |
− | + | - 노이즈, 이미지 분석의 완성도를 위해서 마스킹, 가우시안 필터 등의 기법을 적용 | |
====통신 앱==== | ====통신 앱==== | ||
− | + | - 드론의 속도/제한 시간 등을 동적으로 설정하기 위한 리액트 앱 제작 | |
− | + | - http 프로토콜로 연결, 웹소켓 통신을 하기 위해 시뮬레이터의 IP 주소를 전달받아 기기로 전달 | |
− | + | - aws-s3 를 이용한 웹 호스팅 이용 | |
==결과 및 평가== | ==결과 및 평가== |
2021년 6월 20일 (일) 05: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 를 이용한 웹 호스팅 이용
결과 및 평가
완료 작품의 소개
프로토타입 사진 혹은 작동 장면
내용
포스터
내용
관련사업비 내역서
내용
완료작품의 평가
내용
향후계획
내용
특허 출원 내용
내용