드론 쿼드콥터

3DR Solo 완전 자동비행 (Tower 앱 사용)

하늘이푸른오늘 2015. 12. 11. 11:14

며칠 전에 3DR Solo 기본 작동방법시험비행에 관한 글을 올렸습니다. 이것만 응용해도 드론을 활용한 사진/비디오 촬영은 왠만큼 전문가 수준으로 촬영할 수 있습니다.


이번엔 안드로이드용 APM:Copter 지상국(Ground Control System)인 Tower를 이용하여 3DR Solo를 제어하는 방법을 정리해보겠습니다. 


3DR 쏠로의 비행콘트롤러는 Pixhawk2 입니다. Pixhawk보다 여러가지 기능이 확장되었다는데, 아직 정확한 사양은 나와 있지 않습니다. pixhawk 와는 달리 오픈하드웨어도 아니고요. 그렇다고 하다라도 Pixhawk2는 Pixhawk와 유사하므로, Pixhawk용 지상국으로도 Tower를 제어할 수 있습니다.


Tower를 이용하면 완전 자동 운항이 가능합니다. (원래 APM 계통에 포함된 모든 지상국 소프트웨어가 자동운항 기능이 있습니다.) 사실 Tower는 여러가지 지상국(GCS:Ground Control System)의 일종이기 때문에 시동걸기 이륙 포함 모든 걸 조종할 수 있습니다. Solo 앱이 없어도 조종가능합니다.


Solo 앱에서 제공하는 셀카(Selfi)기능, 케이블캠(Cable Cam)기능, 회전(Orbit)기능 등도 자동운항이긴하지만, 극히 한정적인 기능만 제공합니다. 그에 비해 Tower는 자동이착륙, 이동지점(Waypoint) 지정, 카메라 촬영 등 거의 모든 부분을 제어할 수 있습니다. 원한다면 클릭 한번으로 자동으로 이륙하여 원하는 곳으로 이동하여 사진을 촬영한 뒤, 제자리로 돌아와 착륙하는 것까지 가능합니다.


Tower를 이용한 자동운항은 대략 다음과 같은 과정을 통해 이루어집니다. 이글은 먼저 2/3/4에 대해서 설명을 하고, 1에 대해서는 뒷부분에 자세히 설명하겠습니다.

  1. Tower에서 비행계획을 세운다.
  2. Tower를 Solo에 연결한다.
  3. Tower에 비행계획(Mission)을 업로드한다.
  4. Tower에서 자동운항을 시행한다.

경고 : Tower를 사용하여 3DR Solo를 제어할 때, 오류가 발생한다는 분들이 있습니다. 특히 솔로앱과 Tower 앱을 동시에 사용할 경우 그런 현상이 발생한다고 하니, (아무렇지도 않다는 분들도 있습니다만) 항상 조심하시기 바랍니다. 


참고로 이 글은 이 비디오와 여러가지 글을 참고하여 작성했습니다.


Tower를 3DR Solo 에 연결하기


우선 Tower는 여기 들어가면 다운로드 받을 수 있습니다. 


Tower를 사용하여 쏠로를 제어하려면 먼저 Tower를 Solo와 연결해야 합니다. Solo App을 연결하는 것과 마찬가지로요. 연결하는 방법은 간단합니다. 


  1. Solo 본체 및 콘트롤러를 켠 상태에서 스마트폰을 먼저 Solo의 WiFi, 즉, Sololink 에 연결시킵니다.
  2. Tower를 실행시킨 후, Setting에 들어가 Connection Type을 *UDP* 로 지정합니다.
  3. Tower 화면 오른쪽 위에서 Connect를 누릅니다.



Tower에서 Solo로 비행계획(Waypoint Mission)을 올리기


Flight Data 화면에서 맨 오른쪽에 있는 점3개를 누르고 MIssion Upload를 누르면 현재 화면에 있는 비행계획이 Solo로 업로드 됩니다. 이때 기존에 저장되어 있던 비행계획은 사라집니다. (Solo에는 단 하나의 Mission만 올릴 수 있습니다.)


비행계획을 세울 때 Takeoff 및 RTL을 지정하지 않았을 경우에는 아래와 같이 이들을 추가할 지를 묻는 화면이 나옵니다. 자신의 판단하에 수락 여부를 결정하시면 됩니다.




자동비행 시행하기


Mission을 업로드 시켰다고 해서 바로 솔로가 자동으로 시작되지는 않습니다. Flight Data 화면에서 위쪽을 보면 Loiter(GPS를 이용하여 Hovering 하는 모드. Solo에서 Fly 모드와 동일) 라고 되어 있는 부분이 있는데, 이를 클릭하면 아래와 같은 화면이 나옵니다. 여기에서 Auto를 선택하면 그 즉시 첫번째 Waypoint를 향해 날라가게 됩니다. 만약 첫번째 명령이 Takeoff 였다면 모터에 시동이 걸리고 이륙을 하게 되겠고요.



자동미션시 주의사항


이륙을 포함해서 완전 자동비행을 시행할 때에는 정말 조심할 게 있습니다. 이륙 지점과 첫번째 Waypoint 사이에 아무런 장애물이 없어야 한다는 것입니다. 이륙하면서 바로 첫번째 Waypoint로 날라가게 되니까요. 만약 장애물이 있을 것 같으면, Takeoff 점의 높이를 조절해주면 됩니다.


아울러, 미션을 업로드하면 이 미션은 계속 남아 있기 때문에 어떤 미션이 올려져 있는지 확실히 알고 있는 경우가 아니면 Auto를 누르지 않는 게 좋습니다. 아얘 아주 멀리있는 곳까지 날아가버리는 경우가 발생할 수도 있으니까요. 특히, 화면에서 비행계획을 세운뒤 바로 Auto를 누르게 되면 현재 화면에 있는 Mission 이 아닌 예전에 올려둔 미션이 시행될테니 반드시 체크 또 체크해야 합니다.


콘트롤 가능 거리 너머서 혹은 건물과 같은 장애물 뒷편까지 자동미션을 수행해야 할 때가 있습니다. 만약 아무런 설정도 하지 않을 경우, 콘트롤이 끊기게 되면 FailSafe에 의해 자동으로 Return to Launch 가 실행되어 이륙지점으로 돌아오게 됩니다. 


이때는 Flight Data 화면에서 Parameters로 들어간 후, 구름모양 아이콘을 눌러서 설정변수를 다운로드 한 후, FS_THR_ENABLE 파라미터를 2로 설정하고, 다시 구름모양 아이콘을 눌러 업로드 시키면 됩니다.<- 권하지 않습니다.



===================

Tower에서 Waypoint 입력하기


먼저 Tower의 메뉴(왼쪽위 줄3개)를 눌러, Editor 를 선택합니다. 



왼쪽 위에서 두번째 아이콘(파란색)을 클릭하면 오른쪽이 "WAYPOINT"로 표시됩니다. 이 상태에서 화면을 클릭하면 순서대로 Waypoint가 추가됩니다. 


참고로 세번째 아이콘을 누르고 손가락으로 화면을 따라 움직이면 움직인 궤적에 따라 Waypoint가 자동 생성됩니다.



현재 1번부터 4번 지점까지 모두 높이가 20미터로 되어 있습니다. 이중 3번만 40미터로 바꾼다고 한다면, 아래쪽에서 3번점을 클릭한 후(파랗게 변합니다.), 오른쪽에서 휠을 돌려 40으로 맞춰주면 됩니다.



속성을 모두 한꺼번에 변경시키려면 먼저 모두 선택해야 합니다. 4번째 아이콘을 선택하면 오른쪽이 "SELECT ALL"로 바뀌는데, 여길 클릭하면 모두가 한꺼번에 선택됩니다. (모두 녹색에서 파란색으로)



그 다음 왼쪽 아래에 있는 동그란 아이콘을 누르면 속성창이 나타나고, 여기에서 높이를 바꿔주면 됩니다. 참고로 어떤 점의 높이를 설정하면 그 다음부터 입력되는 Waypoint는 모두 그 높이로 자동 설정됩니다. 따라서 맨 처음 점을 입력하면 바로 원하는 높이부터 설정해두는 게 좋겠죠.




Tower에서 Waypoint 삭제하기


WayPoint를 삭제하려면 왼쪽에서 5번째 아이콘(쓰레기통)을 먼저 눌러줍니다. 이 상태에서 아래에 있는 Waypoint 중 원하는 것을 클릭하면 삭제됩니다. 번호는 자동으로 변경됩니다. 아래는 위의 4개의 점 중에서 3번째 점을 지운 것입니다. 



먼저 선택을 한 상태에서 쓰레기통 아이콘을 누르면 선택된 것만 지울 수도 있습니다. 아래는 먼저 취소아이콘(6번째)를 눌러서 복구 시킨 후, 전체를 선택하고, 다시 2번을 클릭하여 1,2,4번을 선택한 상태로 만든 것입니다. 그 다음 휴지통 아이콘을 누르고 오른쪽에 "선택된 것 삭제(CLEAR SELECTED)"를 누르면 현재 선택된 3개의 Waypoint만 삭제할 수 있습니다. 그 오른쪽에 있는 CLEAR MISSION을 누르면 모든 웨이포인트가 사라집니다.




이 착륙 지정


현재 상태는 4개의 WayPoint 만 지정되어 있는 상태입니다. 이 상태대로 이 비행계획을 Solo에 업로드 시켰다면, 이륙과 착륙은 사용자가 직접 수행해야 합니다. (업로드 시킬 때 이착륙을 추가할 수도 있습니다)


아래 그림에서 빨간 별표에서 Solo의 전원을 켰다고 가정하겠습니다.(이곳에서 전원을 넣었을 뿐 아니라, GPS가 고정되었다는 뜻입니다.) 


자동 미션을 수행하려면 먼저 Solo 콘트롤러의 FLY 버튼을 이용하여 먼저 안전한 높이까지 이륙을 시켜야 합니다. 그 다음 Tower에서 자동 미션을 지시 하면 1번->2번->3번 을 지나서 4번까지 돌아와 현재 설정된 높이에서 그냥 기다리게 됩니다.


그 다음에 Return Home을 누르든 다른 방법이든 착륙을 시키는 것은 사용자가 직접 조작해야 합니다.



자동으로 이착륙 시킬 수도 있습니다. 그러려면 맨 첫점을 선택한 후, WayPoint를 클릭하여 Take off로 바꿔주면 됩니다.



이렇게 시작점을 Takeoff(이륙)으로 바꾸면, 아래 그림과 같이 그 지점이 지도에서 사라집니다. 이륙지점은 Solo에 전원을 넣고 GPS를 고정한 지점입니다. 즉, 어디에서 전원을 넣던 그 지점에서 이륙하게 됩니다. 아래처럼, 이륙 지점에도 높이를 지정할 수 있습니다. 



이번엔 마지막 지점(4번점)을 착륙지점으로 바꿔보겠습니다. 마찬가지로 4번점을 선택한 후, "LAND"로 바꾸면 됩니다. 이때는 아래 그림과 같이 4번지점이 사라지지 않고 삼각형 형태로 표시가 됩니다. 이는 Solo에 전원을 어디에서 넣었든 이 지점으로 착륙시킨다는 뜻입니다.



원래 출발지점으로 돌아와서 착륙시킬 수도 있습니다. 이때는 WayPoint를 "Return to Launch"로 바꿔주면 됩니다. 이렇게 바꾸면 Takeoff 때와 마찬가지로 지도에서는 사라집니다. 당일 출발 지점이 착륙지점이 되는 것입니다.




관심지점(Region of Interest)


관심지점은 카메라가 향하는 방향을 말합니다. Solo가 어느쪽으로 움직이더라도 카메라는 이 지점을 향하게 됩니다.


관심지점은 가능한 한 일찍 잡아주는 게 좋을 겁니다. 그래서 먼저 1번점으로 ROI를 지정합니다. 두번째 아이콘을 누르고, 오른쪽에서 Waypoint 대신 Region of Interest를 선택하고 원하는 곳을 클릭해주면 됩니다. 


Region of Interest에 대해서도 높이를 지정할 수 있습니다. 카메라가 어느 높이를 목표로 촬영할까를 지정하는 것입니다. 예를 들어 100미터짜리 건물일때 50미터 정도로 지정하면 건물 중앙부가 항상 화면 중앙에 위치하게 될 겁니다.



아래는 세번째 아이콘을 이용하여 그 주변을 한바퀴 돌도록 Waypoint를 지정했습니다. 중간에 Region of Intererst를 변경시키지 않으면, 이륙하여 2번지점에서 10번지점에 올때까지 카메라는 계속 ROI를 가르키게 됩니다.




기타 여러가지 Waypoint


회전(CIRCLE)은 지정한 점을 주위로 정해진 횟수만큼 회전하라는 명령입니다. 지정할 수 있는 속성은 높이와 회전반경 그리고 회전 횟수입니다.



속도변경(CHANGE SPEED) 는 말그대로 속도를 변경시켜주는 명령입니다. 이 시점 이후부터는 지정한 속도로 이동하게 됩니다. 



====

이상입니다. 정리하고 보니... 역시 일반적인 목적이라면 Solo 앱을 사용하는 게 나을 것 같고, 자동임무가 필요할 경우에만 Tower를 사용하는 게 좋을 것 같네요.

민, 푸른하늘