단청장인드론

cdc wiki
단청장인드론 (토론 | 기여)님의 2018년 6월 26일 (화) 03:34 판 (프로토타입 사진 혹은 작동 장면)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 자율주행과 페인팅을 할 수 있는 드론을 만드는 프로젝트
영문 : Making Autonomous Painting Drone 

과제 팀명

단청장인드론

지도교수

김성환 교수님

개발기간

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

구성원 소개

서울시립대학교 컴퓨터과학부 2010920004 김명건(팀장)

서울시립대학교 컴퓨터과학부 2010920053 이현우

서울시립대학교 컴퓨터과학부 2011920026 서양훈

서울시립대학교 컴퓨터과학부 2013920028 박 솔

서론

개발 과제의 개요

개발 과제 요약

◇ 자율주행 페인팅드론을 이용하여 안전하고 효율적인 단청작업 수행을 목표로 하며, 폭넓게는 드론

   을 이용하여 기존 도색 작업의 인명사고 위협을 해소한다.

개발 과제의 배경

◇ 사람과 드론의 협업을 통해 인명사고를 방지하고, 도색작업의 효율을 높이고자 한다.

- 페인트작업의 추락사고 피해를 줄일 수 있다. - 페인트 유독물질 중독 위험을 줄일 수 있다. - 사람이 접근하기 어려운 위치에 드론을 투입하여 도색 작업을 보다 용이하게 수행할 수 있다. - 사람의 도색 작업 일부를 드론이 보조함으로써 공정 효율을 개선할 수 있다.

개발 과제의 목표 및 내용

◇ 다음과 같은 기능별 목표를 설정하고 이를 달성하는 것을 목표로 한다.

- 드론 자율주행 : 수동 조작 없이 드론이 스스로 자율 비행을 한다. - 목표위치 인식 : 카메라 장비를 이용하여 도색 작업을 수행할 목표 위치를 인식한다. - 호버링 : 목표위치에서 안정적인 정지비행을 수행한다. - 도색 실시 : 목표위치에 사용자가 입력한 데이터를 토대로 도색을 실시한다.


관련 기술의 현황

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

  • 전 세계적인 기술현황

◇ 자율주행

   - 미국 기반의 스타트업 '스카이디오(Skydio)'가 출시한 'Skydio R1'로 선보인 기술
     → 내비게이션용 카메라가 실시간 촬영한 데이터로 드론 자신의 위치를 측정
     → 주변 지도를 작성하는 SLAM(Simultaneous Localization and Mapping)과 AI 플랫폼 NVIDIA Jetson 적용
     → 이 기술들 덕분에 드론은 딥러닝 기술로 끊임없이 정확한 비행을 스스로 예측
◇ 목표 인식 
   - SIFT (Scale-Invariant Feature Transform) 알고리즘 
     → 이미지의 크기와 회전에 불변하는 특징을 추출하는 알고리즘. 서로 다른 두   이미지에서 SIFT
        특징을 각각 추출한 다음에 서로 가장 비슷한 특징끼리 매칭해주면 두 이미지에서 대응되는
        부분을 찾을 수 있다는 것이 기본 원리다.
◇ 호버링
   - PID 제어
     → P(비례), I(적분), D(미분)의 3항 동작을 조합시켜서 사용하는 제어 방식
        초음파센서와 기압센서를 바탕으로 고도제어를 하고 자이로/가속도센서를 바탕으로 자세제어를 구현한다.
   - 비전센서
     → 최신 드론은 비전센서 포함(비디오카메라). 비디오를 찍고 이미지 분석하여 장애물 유무 판단.
  • 특허조사 및 특허 전략 분석
◇  Systems and methods for unmanned aerial painting applications
    - https://patents.google.com/patent/US20160082460 
◇  Mobile computing device-based guidance navigation and control for unmanned aerial vehicles and robotic systems
    - https://patents.google.com/patent/US9611038B2/en
  • 기술 로드맵

Roadmap.png

시장상황에 대한 분석

  • 경쟁제품 조사 비교
◇ Florida소재 Apellix사의 Worker Bee

- 집이나 선박에 도색 가능(추후)

- 화학약품 분사 기능(해충 구제 / 제빙용도)

- 3층까지의 낮은 건물들만 도색 가능.

- 유선 조종(컨트롤러 및 페인트도료 전달 호스)


◇ Florida소재 Apellix사의 Kitty Cat

- 레이져 포인터 추적 비행

- 수동 조종이 아닌 자동으로 포인터를 인식 및 추적


 * 마케팅 전략 제시
◇ 인명사고를 방지할 수 있다는 점을 강조하여 홍보한다.
◇ 단청장인이나 도색작업하는 사람들에게  시간을 효율적으로 쓸 수 있다는 점을 홍보하여 수익을 낼 수 있다.
◇ 로봇과 기존 인력간의 협업 사례 소개
  - “누구의 일자리도 빼앗지 않는 도장 로봇“  http://www.irobotnews.com/news/articleView.html?idxno=13105

개발과제의 기대효과

기술적 기대효과

◇ 자율주행기술을 다양한 분야에 적용하려는 시도가 여기저기서 발생하고 있다. 드론을 활용하여 페인팅 역할을 하는 드론은 아직 찾아보기 힘들지만 미래에는 자율주행과 영상인식을 통해서 다양한 분야에서 드론뿐만 아니라 로봇이 활용될 수 있을 것으로 기대한다.

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

◇ 로봇과 사람의 협업을 통한 작업의 효율성 증대
◇ 인력사고 방지
◇ 로봇과 전통기술의 접합으로 문화재 보존 및 홍보효과, 
◇ 첨단기술과 전통의 상생 비전 제시

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

김명건

Ÿ - 드론 장비 조사 / 선정

Ÿ - 회의 일정 알림

이현우

Ÿ - 드론 장비 수입 및 조립

Ÿ - 시험 비행(Calibration 등) 수행

서양훈

Ÿ - 자율주행, 페인팅 세부 알고리즘 설계 및 구현

Ÿ - 단청의 기본 문양 데이터화 및 입력

박  솔

Ÿ - 단위 및 통합 테스트 계획 수립

Ÿ - 페인팅 결과 수치화 및 분석, 피드백

설계

설계방향

- SITL : Software In The Loop 방식 이용

- Gazebo Simulation을 이용해서 단청장인드론의 자율주행기능 개발.
- http://www.modulabs.co.kr/index.php 참고하여 설계 
+ HITL : Hardware In The Loop 방식 이용
+ DJI F450 드론 제품 조립(자세한 제품 사항은 견적서참고)
+ Pixhawk2와 edison을  탑재하여 자율주행되는 SprayPainting / VideoStreaming 기능 개발 

개발환경

 # Simulation(-)                         
+ ubuntu 16.04 LTS    
+ ROS kinetic
+ Gazebo 7,9
 # Drone(+)  
- Windows10
- Intel Edison (ROS Kinetic)
- Flytos v1.41, v1.56
- Yocto Linux 3.10.98 Pocky version 
- Px4, AutoPilot
- QGroundControl

개념설계안

◇  구조도
   
 Simulation 구조도

위 그림과 같이 SITL은 MAVLINK라는 통신 프로토콜을 통해서 simulator에 연결한다. 이것이 기본적인 세팅이고 SITL은 PX4에 들어있는 기능 중에 하나이기 때문에 위 그림에서 SITL을 PX4로 생각하고 simulator를 gazebo라고 생각하면 된다.

 - Pixhawk : 라즈베리파이로부터 데이터를 전달받고 드론을 조종한다.
   Pixhawk는 독립적이고, 오픈된 하드웨어 프로젝트이며, 취미나 상업에 모두 이용될 수 있는 저가-고효율 오토파일럿 하드웨어(Flight Controller)를 제공한다.
 - 라즈베리파이3 B+ : 자율주행 소프트웨어를 탑재할 PC역할을 한다. 
 - Px4 : PX4는 두 개의 층으로 이루어져 있는데, PX4 flight stack과 PX4 middleware로 이루어져 있다. PX4 flight stack은 오토파일럿 소프트웨어이며 PX4 middleware는 일반적인 robotics에 사용되는 middleware입니다.
 - Mavlink : ROS와 PX4 사이에서 mavros로 통신할 때의 통신규격이다.
 - Mavros : ROS와 PX4 사이에서 다리 역할을 한다.
 - ROS : node간의 메시지 통신 ( 참고 : http://cafe.naver.com/openrt/2468 )
  * 마스터 : 노드들 사이의 메시지통신에서 연결 정보를 관리하고, ROS를 사용하기 위해서 제일 먼저 구동해야하는 필수 요소이다. 다음과 같이 "roscore"라는 실행 명령어로 ROS 마스터는 구동된다. 마스터는 노드간의 접속을 위하여 노드들의 이름, 토픽 및 서비스의 이름, 메시지 형태, URI 주소 및 포트를  등록받고, 요청이 있을 경우 이 정보를 다른 노드에게 알려주는 역할을 한다.
 * 구독자 노드 :  "rosrun" 및 "roslaunch" 라는 실행 명령어로 구동된다. 구독자 노드는 구동과 함께 마스터에 자신의 구독자노드이름, 토픽이름, 메시지형태, URI 주소 및 포트를 등록한다. 마스터와 노드는 XMLRPC 를 이용하여 통신하게 된다.
 * 발행자 노드 : rosrun 및 roslaunch라는 명령어로 구동된다. 


Drone 시뮬레이션


드론 시뮬레이션.png



위 그림을 설명하자면, 일단 왼쪽에 있는 ROS가 Control Center라고 생각하면 된다. 

attitude, local_position, acceleration, actuator_controls 등의 명령을 입력하면 mavlink형태의 메시지로 명령이 px4로 전달되 px4가 motor를 control하고 센서데이터들은 반대로 mavros를 통해서 ros로 전달이 된다.


 - Mission Planner
   * Google 지도/Bing/Open street 지도/사설 WMS를 사용하여 웨이포인트를 지정
   * 드롭 다운 메뉴에서 임무를 선택
   * 임무 로그 파일 다운로드 및 분석
   * 기체 APM의 환경 설정
   * 완전한 UAV 시뮬레이션 시험을 위한 PC 비행 시뮬레이션 인터페이스
   * APM 직렬 터미널에서 출력 확인
 - Python 
   * OS independent
   * 인터프리터식
   * 객체지향적
   * 동적 타이핑 대화형 언어
- Pixhawk2
   * Pixhawk1의 기본 기능 계승
   * 모듈식 설계로 carrier board 선택이 유연
   * 100% RTK GPS 사용가능, 표준 다중 GPS
   * 3중 중복 IMU System
   * 절연, 완충 및 온도 제어 IMU

Dronepythonmp.jpg

드론 유저는 Ardupilot의 MP(Mission Planner) 프로그램을 이용하여 지도상에 웨이포인트를 
설정, 드론의 비행 경로를 정할 수 있다. 또한 이와는 별도로 python 스크립트를 보드에
탑재하여 스크립트 상의 명령을 수행하게 할 수 있다.

평가 및 분석

◇ 평가기준
 * 시뮬레이션 평가
  1.  안정적 이륙 
  2.  목표 위치 이동
  3.  호버링 안정성
  4.  안정적 복귀 여부
  5.  안정적 착륙
  6.  입력좌표와 실제좌표간의 오차
 * 활용도 평가 – 실제 현장 업무에서 활용될 수 있는가?
* 실제 드론 평가 (O/X)
  1.  실패 - 자율주행 기능 없음      
  2.  실패 – 명령스크립트 실행 실패     
  3.  성공 – Pixhawk2 Cube기본제공
  4.  성공 – Pixhawk2 Cube기본제공
  5.  성공 – Pixhawk2 Cube기본제공
  6.  Pixhawk2 Cube - GPS 제공하는 유효범위 내에서의 측정 불가
 * 활용도 평가 – 실제 현장 업무에서 활용될 수 있는가?

상세설계 내용

2.5 부품도

1. 드론 기체

품명 이미지 내용
1pairs 12*4.5 1245 Self-locking Propeller Prop CW/CCW for RC F450/550 X525 Multicopters (white) Propeller.jpg 프로펠러
DYS-D3536-910KV-1000KV-1250KV-1450KV-2-4S-Brushless-Motor Motor.jpg 모터
Brushless Motor
[ESC] Lumenier 30 amp ESC w/ SimonK AutoShot Firmware ESC.jpg 변속기
배터리에서 받은 전기에너지를 조절하여 모터 속도 제어
F450 frame Frame.jpg 프레임
[TR] F450/550 Landing Skid Set (White) Skid.jpg 지지대


2. FC(Flight Controller)

FC.jpg

Pixhawk PX4 2.4.8 Flight Controller 32 Bit ARM PX$FMU PX4IO Combo for Multicopters(32비트 ARM Px4DMU 멀티 채널용) : 안정적인 비행을 위해 신호를 조종해 주는 컴퓨터, 감지된 신호를 분석하여 기체가 안정적인 자세를 유지 혹은 원하는 비행이 가능하도록 변속기에 신호를 보내는 역할


3. 배터리

Battery.jpg

[F450/550겸용]4500mAh 11.1V 30C : FC와 모터 전력 공급


4. GPS 모듈

Gps.jpg

Global Positioning System 으로 해당 모듈을 이용하여 드론 자신의 위치를 알 수 있고,  비행좌표를 설정하거나 안전하게 Return to Base 기능 수행


5. 수신기

Receiving.jpg

조종기와 통신을 위한 장치


6. 파워 모듈

Power.jpg

FC 등 낮은 전압 요구, 적은 전력을 소모하는 장치들에 적합한 전력을 공급하기 위한 강압기능 장치

결과 및 평가

완료 작품의 소개

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

프로토.jpg
프로토타입 사진

포스터

없음

관련사업비 내역서

팀 자체적으로 충당한 관련 부품에 관한 내역
자비충당.jpg

완료작품의 평가

내용

향후계획

1. Intel Edison에 연동, Video Streaming 을 위한 Cam 장비를 'HP HD-3110' 에서 'Microsoft Lifecam Studio' 로 변경하여 장착할 것.

2. Intel Edison에 ROS setup

3. Servo Motor를 드론에 연결하고, RC 리모컨에 채널을 설정, 동작 여부 확인.

4. (추가) 3D 프린터를 이용, 스프레이건 맞춤 지지대(arm) 설계 및 제작.

특허 출원 내용

특허 출원 내역/예정 없음