드론 3D 매핑

드론/쿼드콥터 2015.08.18 14:38 Posted by 드론의 미래가 궁금한 푸른하늘이

이 문서는 APM Copter 를 사용한 멀티 곱터를 사용하여 3D 매핑에 필요한 하드웨어 및 소프트웨어에 대한 내용을 다루고 있습니다.

원문은 http://copter.ardupilot.com/wiki/common-3d-mapping/ 입니다. 그냥 쉽게 생각해서... 한 3-400 만원 정도면 3D 매핑까지 가능한 시스템을 구성할 수 있을 것 같네요.


개요


이 페이지는 Copter/Plane 과 적당한 장비를 사용하여 3D 지도를 제작하는 방법을 소개하는 내용입니다. 


위 영상은 Sylvain 씨가 제작한 "the fallen blockhouse" 로서, 2014년 T3 경진대회 당선작입니다. 여기를 누르시면 3D 모델을 볼 수 있습니다.


필요한 장비


고정익 비행기 또는 멀티콥터

디지털 카메라

S100, S110, Elph 110 HS and SX230HS 등의 CHDK가 가능한 캐논 카메라

Canon ELPH 520 HS 등, CHDK는 지원하지 않지만 카메라 셔터를 처리하는 방법이 있는 카메라

GoPro의 경우 어안렌즈를 사용하므로 비추

하방향 짐벌 또는 기체에 카메라를 장착할 수 있는 마운트


샘플 작업



60~100 장의 사진이 있으면 좋은 3D 렌더링이 가능하다. 인접한 사진간에는 최소한 65% 이상 중복되어야 하는데, 80% 이상 을 목표로 촬영하는 것이 좋다. 항공사진에 지상에서 촬영한 사진을 추가할 수도 있다.


촬영고도는 주제에 따라 달라진다. 넓고 평평한 지역의 경우, 고도 40m - 80m 정도로 촬영하면 아주 상세한 영상 (따라서 상세한 최종결과물)을 얻을 수 있다. 하지만, 건물의 경우에는 고도를 더 높여야만 (건물로부터 100미터 이상) 왜곡을 줄일 수 있다.


트랙간의 간격은 25미터 에서 100미터 간격으로 촬영하는 것이 좋다. 기체 고도가 높을 수록 트랙간 간격은 더 멀어지게 된다. 일반적으로 트랙간 간격은 65% 정도 중복되도록 설정하면 좋다. 


작업도중에 카메라 셔터가 자동으로 작동되어야 한다.(2초간격 5초간격 혹은 10미터 간격 등) 많은 카메라에는 일정한 시간 간격으로 사진을 촬영하는 기능이 있다. CHDK를 탑재한 캐논 카메라의 경우 이러한 기능을 수행하는 script를 실행시킬 수 있다. 또다른 방법으로, Copter/Plane/Rover 가 CHDK를 탑재한 캐논 카메라에 대해 시간기준/거리기준 으로 셔터를 터트리도록 설정할 수도 있다.


이러한 작업에는 다음과 같은 명령어가 사용된다.

  • TAKEOFF - "Alt" 열에 주어진 목표 높이(통상 meter)로 기체를 띄워 올림
  • WAYPOINT - 촬영지역을 나르는데 필요한 지점을 가능한 한 많이 격자형태로 만들어줌. 고도는 "Alt" 열에 입력해야 함. Delay 열에 "1"을 추가하면 각 지점에 도착할 때 기체가 1초간 정지한다. 
  • DO_DIGICAM_CONTROL - APM/Pixhawk 가 CHDK 혹은 servo를 사용하여 연결되었을 경우, 카메라 셔터가 즉시 눌러지도록 함.
  • DO_TRIGG_DISTANCE - 카메라 셔터가 일정간격(미터)마다 터지는 것 외에는 DO_DIGICAM_CONTROL과 동일함. 여기에서 거리는 "Dist (m)" 이라는 첫번째 열에 정의된다. 참고: AC3.1.2에서는 이 명령을 정지시키는 명령이 없으므로, 기체가 AUTO 모드에서 빠져 나올때까지 계속해서 셔터가 눌러지게 된다.
  • RETURN_TO_LAUNCH - 작업에서의 마지막 명령으로 기체가 원위치로 돌아옴.
  • DO_SET_ROI - 기체의 앞방향 및 짐벌의 방향을 지도상의 특정한 한점을 가르키는데 사용됨. 참고; AC3.1.2에서는 기체가 Waypoint를 지나면 다음 Waypoint를 가르키게 되므로, 한 점을 계속해서 가르키도록 하고자 할 경우에는 각각의 Waypoint 마다 DO_SET_ROI 명령을 반복하여 사용하여야 한다. AC3.2에서는 이러한 작업이 필요하지 않도록 기능이 수정되었다.


추천하는 Desktop용 3D 매핑 소프트웨어

  • MicMac 기반의 toolchain. ImageJ/Fiji, QGIS, SAGA GIS 등과 함께 사용). 오픈소스. 무료
  • VisualSFM : 상업용이 아닌 경우 무료
  • Photoscan : 표준 버전 $179. 지오레퍼런싱, 정사사진 제작등을 포함한 프로 버전은 $3,499
  • Pix4D : 6500 유로 혹은 매월 260 유로
  • OpenDroneMap : 오픈소스, 무료

이 모든 소프트웨어들은 작동방법이 상당히 비슷하다. 즉, 기체에서 촬영한 사진 (지상에서 손으로 촬영한 사진도 추가할 수 있음)을 입력하면 3D 영상을 생성한다. 그 모든 영상을 자동으로 매칭하는데, 사진이 촬영된 실제위치는 필요없다.

모델의 공유

  • Sketchfeb : 완성된 3D 모델을 올릴 수 있으며, 다른 사람들은 웹브라우저를 통해 대화식으로 모델을 볼 수 있다. 이 글 맨위에 있는 이미지가 그 예이다.
  • Three.js : 사용자의 웹페이지에 3D 모델을 올릴 수 있다.
  • Blender : 3D 모델을 사용하여 가상 fly-through 비디오를 생성할 수 있으며, 유튜브에 올릴 수 있다. Richard 의 작품이 그 예이다.
  • Dronemapper : 원시 영상을 올리고 관리할 수 있다.


기타 문서 및 예제


신고

댓글을 달아 주세요

  1. 길가다주웠어  수정/삭제  댓글쓰기

    볼수록 정말 잘만든 것 같습니다. 좋은 자료 잘봤습니다.

    2015.11.30 11:00 신고
  2. 도와주세요  수정/삭제  댓글쓰기

    안녕하세요. 학교에서 연구 프로젝트로 ardupilot mission planner와 cannon chdk를 이용해서 survey tool을 사용해서 오버랩된 사진을 촬영하려고 하고 있습니다. 그런데 chdk 작동과 pixhawk를 통해 remote trigger를 servo를 통해 작동하는 것은 성공하였는데, mission planner를 통해 계획한 "Do_set_cam_trigg_dist" command에 따라 쿼드콥터가 사진을 찍지를 않네요. 여러가지 방법을 다 동원해 보고 있는 중입니다. 혹시 지상 점검에서 mission plan의 way point를 통한 사진을 찍으려면 드론을 arm상태에서만 점검이 가능한가요?

    2017.05.12 10:57 신고
    • Favicon of http://www.internetmap.kr BlogIcon 드론의 미래가 궁금한 푸른하늘이  수정/삭제

      시동을 건 상태에서만 되는 건 아닌 것 같고요... 어차피 지정한 거리만큼 이동하면 Pixhawk에서 촬영 명령이 나오거든요.

      Do_SET_CAM_TRIGG_DIST를 1 정도로 작은 값으로 설정하신 후, 돌아다녀 보시면 카메라가 자동으로 터져야 합니다.

      2017.05.12 14:17 신고
  3. 도와주세요  수정/삭제  댓글쓰기

    네.Do_SET_CAM_TRIGG_DIST는 잘 작동 됩니다. 그런데 survey mission으로 계획한 자료를 write하고 지상에서 계획한 way point를 돌아다녀도 카메라가 작동이 안되네요. 이건 왜 그런걸까요? 비행전에 확인해야 테스트 비행을 할텐데...

    2017.05.15 21:58 신고
  4. 도와주세요  수정/삭제  댓글쓰기

    그러게 말입니다. 일단 비행전 지상에서 Do_SET_TRIGG_DIST를 10m로 셋하고 돌아다니니 자동으로 10m간격으로 촬영하는 것 같아서, 비행 테스트에서 survey로 플랜하고 올렸더니 아무것도 촬영하지 않았더라구요. 그래서 다시 지상에서 Way point 밑에 DO_DIGICAM_CANOTROL을 WRITE해서 돌아다녀보니 전혀 작동을 하지 않더군요. 지금 미국에서 유학중이라 미국 community site와 푸른하늘이 님께 동시에 자문을 구하고 있습니다. 분명히 제가 쓰는 CHDK script는 정상적으로 작동하고, 지상에서 거리에 따른 촬영도 되는데 왜 survey tool에서 계획한 촬영은 안될까요...2주째 펌웨어 엎어가며 고생중입니다. 혹시 parameter의 CAM_TRIGG_DIST를 0으로 셋하고, survey tool로 계획해서 촬영 지점간 간격이 10m로 나왔다면, 자동으로 10m 간격 촬영 명령이 오버라이드하는 건지요?

    2017.05.16 11:37 신고
  5. 파란이  수정/삭제  댓글쓰기

    1.혹시 toolchain 사용해보신적 있나요?
    2.기존 픽스호크에 있는 펌웨어를 다운로드 어떻게 하나요?

    2017.09.27 00:18 신고

BLOG main image
드론과 지도
드론이 세상을 바꾸고 있습니다.드론의 활용처가 계속 넓어지고 있고, 글로벌 기업들의 참여가 많아지고 있으며, 새로운 기술들이 속속 등장하고 있습니다. 하지만 우리나라의 드론 산업은 일부 기업을 제외하면 중국에서 생산된 드론을 가져다가 조립하는 수준이 대부분입니다. 드론은 하드웨어, 소프트웨어, 데이터처리가 복합된 기술입니다. 어떤 기술들을 어떻게 조합할지에 성패가 달렸죠. 5년뒤 10년뒤에 이 블로그엔 어떤 글이 적힐까요? 그것이 궁금합니다.
by 푸른하늘이
Profile for bluesky61

달력

«   2017/10   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

카테고리

전체보기 (1549)
구글어스 (829)
측량/GPS/GIS (215)
사진 (96)
드론/쿼드콥터 (239)
지오캐싱 (47)
기타 (122)
  • 4,163,138
  • 264966
TNM Media textcube get rss

드론과 지도

푸른하늘이's Blog is powered by Tistory. / Supported by TNM Media.
Copyright by 푸른하늘이 [ http://www.ringblog.com ]. All rights reserved.

Textcube TNM Media
푸른하늘이's Blog is powered by Tistory. Designed by Qwer999. Supported by TNM Media.