드론/쿼드콥터2017. 5. 22. 14:57

콥터, Plane, 로버는 3축 짐벌까지 지원한다. 아울러 관심지점(ROI: Region of Interest)에 대한 자동 카메라 추적, 카메라 셔터 자동 동작 등이 고급기능도 지원한다. 아래의 링크를 따라가보면 짐벌과 셔터 동작을 설정할 수 있는 방법이 있다.


짐벌(Gimbal)과 짐벌 제어기

ArduPilot는 자체적으로 평형 제어기가 있는 브러시리스 direct drive 짐벌(Tarot, SimpleBGC, SToRM32)과 AuduPilot에서 평형을 잡아주는 간단한 서보 짐벌을 지원한다.

  • Tarot 짐벌 - PWM 신호로 제어되는 저렴한 2축 브러시리스 짐벌
  • SimpleBGC (일명 AlexMos) 짐벌 - 인기있는 2축/3축 브러시리스 짐벌 콘트롤러. 맞춤식 시리얼 인터페이스를 사용한다.
  • SToRM32 짐벌 제어기 — 저렴한 2축 또는 3축 브러시리스 짐벌 제어기. 시리얼 인터페이스상에서 MAVLink 명령에 반응함(PWM에 비해 훨씬 다양한 포맷)
  • Servo 짐벌 - 구식 서보기반의 짐벌. ArduPilot에서 평형을 잡아준다.

카메라 셔터 제어

ArduPilot을 사용하면 카메라 셔터 출력 포트(서보, 릴레이)를 설정할 수 있다. 카메라 미션 플래닝에서 카메라를 언제 터뜨려야 할 지 지정하거나, 카메라 동작 거리를 지정할 수 있다.


카메라 제작사는 고유한 카메라 리모콘 제어 메카니즘을 가지고 있다. 아래는 카메라 셔터를 설정하는 방법, 출력신호를 카메라에 맞는 형태로 변환하는 방법 등을 나열한 것이다.


자세한 사항

====

원문 : http://ardupilot.org/copter/docs/common-cameras-and-gimbals.html

다음글 : 타롯 짐벌

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2017. 3. 29. 14:32

비행모드 (Flight Modes)


개요

Plane에는 다양한 비행모드가 있다. 어떤 비행모드와 어떤 옵션을 선택하느냐에 따라, 간단한 비행 안정화 시스템으로 작동할 수도 있고, 복잡한 자동주행, 교습용 시스템 또는 비행안전시스템 등으로 작동된다.


비행모드는 Radio 송신기 스위치, 미션 명령 또는 지상국 또는 보조 컴퓨터의 명령을 통해 제어된다. 


주요비행모드

  • 매뉴얼 MANUAL
  • STABILIZE 
  • FLY BY WIRE_A (FBWA) 
  • FLY BY WIRE_B (FBWB) 
  • AUTOTUNE 
  • TRAINING 
  • ACRO 
  • CRUISE 
  • AUTO 
  • Return To Launch (RTL) 
  • LOITER 
  • CIRCLE 
  • GUIDED

미션 관련 비행모드

AUTO 미션으로 날릴 때, 미션 아이템을 설정할 수 있는 sub-모드가 있다. 두가지 주요한 서브모드가 TAKEOFF와 LAND이다.

  • MANUAL
  • STABILIZE
  • FBWA (FLY BY WIRE_A) 
  • FBWB (FLY BY WIRE_B) 
  • AUTOTUNE 
  • TRAINING
  • ACRO
  • CRUISE
  • AUTO
  • RTL(Return To Launch)
  • LOITER
  • CIRCLE
  • GUIDED
  • TAKEOFF
  • LAND


주요비행모드


아래의 모든 비행모드에는 추가적인 제어를 통해 특정 비행 목적에 맞도록 거동을 변경시킬 수 있다. 아래에 있는 기본적인 정보를 읽은 후에는 비행기 변수(Plane parameter)를 잘 살펴서 전체 기능에서 어떤 것이 가능한지를 확인해 보는 것이 좋다.


MANUAL 모드

일반적인 RC 콘트롤. 안정화 없음. 모든 RC 입력이 바로 출력으로 전달됨. 출력이 입력과 다른 경우는 다음과 같음.

    • 비상안전 혹은 geofence가 실행되어, Plane이 제어를 가져갈 때
    • [VTAIL_OUTPUT]이 활성화되어 있다면, 소프트웨어 VTAIL 믹서가 출력에 적용됨
    • [ELEVON_OUTPUT]이 활성화되어 있다면, 소프트웨어 Elevon 믹서가 출력에 적용됨


STABILIZE 모드

간단한 안정화가 지원되는 RC 콘트롤. 스틱에서 손을 떼면 기체가 평형을 잡게 된다. 상반각(dihedral)이 큰 비행기를 날리는 것과 얼추 비슷하다. STABILIZE 모드 에서도 롤링/루프 와 같은 기동이 가능하지만, 기체를 바로잡으려는 경향이 있어 이러한 기동이 어렵다. 비행기가 주로 알아서 날라주길 원하는 사람의 경우, 어디로 날라가야 할지만 알려주는 경우, FLY BY WIRE_A(FBWA) 모드를 사용하는 것이 좋다.


STABILIZE 모드에서 쓰로틀은 [THR_MIN]과 [THR_MAX] 설정 내에서만 작동된다.


참고 : STABILIZE 모드는 contorl loop 를 튜닝하는 용도로 좋지 않다. 그 용도로는 FLY BY WIRE_A (FBWA) 를 사용하는 것이 좋다.


FBWA(Fly by wire_A)

Plane의 지원을 받는 모드중 가장 인기있는 모드로서, 초보자들에게 가장 좋은 모드이다. 이 모드에서는 제어스틱에서 지정한 roll 과 pitch 각을 고정한다. 따라서 aileron 스틱을 오른쪽 끝까지 밀 경우, 비행기는 피치 레벨이 고정되고 [LIM_ROLL_CD]에서 지정한 각도(centi degree)로 오른쪽으로 기울어진다. 이 제한 각도 이상으로 비행기를 더 넘기는 것은 불가능하며, 비행기의 기수를 [LIM_PITCH_MAX], [LIM_PITCH_MIN] 설정 이상으로 올리거나 내리는 것도 불가능하다.


참고로 피치값을 0으로 유지한다고 하여 비행기가 고도를 유지하는 것은 아니다. 고도가 올라갈지 내려갈지는 기체의 속도에 달려있으며, 이는 주로 Throttle에 의해 제어된다. 따라서 고도를 올리려면 Throttle을 밀어야 하고, 고도를 떨어뜨리려면 Throttle을 낮춰야 한다. Plan이 고도까지 알아서 처리하도록 하려면 FlyByWireB 모드를 보라.


FBWA모드에서 throttle은 수동제어되지만, [THR_MIN] 과 [THR_MAX] 이내에서만 가능하다.


FBWA 모드에서 방향타(rudder)는 수동 + 미리 설정해둔 rudder 믹싱에 의해 제어된다. 따라서 방향타를 ground steering에 사용할 수 있으며, 자동으로 조정되는 회전(coordinating turns)에도 사용된다.


FBWB(Fly by wire_B)

FBWB는 FBWA와 비슷하지만, Plane에서 고도도 유지한다. Roll 제어는 FBWA와 동일하며, 고도는 승강타(elevator)로 제어된다. 목표 속도는 throttle을 사용하여 제어된다.


FBWB 모드에서 고도를 제어하려면 승강타를 사용하여 고도의 변화를 요청한다. elevator에서 손을 떼면 Plane은 현재의 고도를 유지하려고 시도한다. elevator를 이동시키면 움직인 거리에 비례하여 고도를 올리거나 내린다. elevator를 완전히 넣었을 때 얼마나 고도가 올라갈지는 [FBWB_CLIMB_RATE] 변수에 따르며, 그 기본값은 2 m/sec 이다. 참고로 2 m/sec 은 상당히 느린 변화로, 고도변화의 반응성을 높이기 위해 많은 사용자들이 [FBWB_CLIMB_RATE] 값을 올리고 있다.


elevator 스틱을 당겼을 때 고도를 올릴 것인지 스틱을 밀었을 때 고도를 올릴 것인지는 [FBWB_ELEV_REV]  변수 설정에 따른다. 기본값은 elevator를 당겼을 때 고도가 올라간다. 이는 일반적인 RC 모델의 반응 방향과 일치한다. 반대방향이 편하다면 FBWB_ELEV_REV를 1로 두면, FBWB 모드에서 elevator 가 반대로 된다.


참고로, elevator 스틱은 pitch를 제어하지 않고, 목표 고도를 제어한다.  요청된 상승/하강률을 달성하는데 사용되는 pitch의 양은 TECS 튜닝 설정에 따딸 달라지지만, 일반적으로 비행콘트롤러는 기체를 상당히 수평으로 유지하려고 하면서 주로 Throttle을 사용해 상승 또는 하강한다. 이는 pitch를 직접 조정하는 FBWA 모드에 익숙한 사람들에게는 당황스럽다. 


airspeed 센서가 있을 경우, throttle은 목표 속도를 [ARSPD_FBW_MIN]에서 [ARSPD_FBW_MAX] 범위 내로 제어한다. Throttle의 최소로 되면 비행기는 [ARSPD_FBW_MIN] 으로 비행하려고 시도하며, Throttle이 최대로 되면 [ARSPD_FBW_MAX] 로 비행하려고 시도한다.


airspeed 센서가 없을 경우, Throttle은 기체의 목표 Throttle을 설정하고, Plane은 적절한 고도유지를 위해 이 설정 내외로 Throttle을 조정한다. Throttle 스틱은 빠른 비행을 위하여, 필요하다고 계산된 값 이상으로 목표 Throttle 이상으로 올리고자 할 때 사용될 수 있다.


FBWA와 마찬가지로 방향타(rudder)는 수동 제어 및 자동조정 회전(turn coordination)을 위한 자동 제어에 따른다.


CRUISE 모드를 참고하라. 대체로 FBWB보다 CRUISE 모드가 더 낫기 때문이다. 특히 바람이 심할 때 그러하다. CRUISE 모드에서는 보조날개(aileron) 스틱으로 아무런 roll을 입력하지 않을때, 단순히 날개를 수평으로 유지하는 대신 ground track을 유지하는 방식이다.


AUTOTUNE

AUTOTUNE 모드는 FLY_BY_WIRE_A(FBWA)와 동일한 방식으로 비행하나, roll/pitch에 대한 이득을 자동 튜닝한다. 자세한 내용은 AUTUTUNE 문서를 확인할 것


TRAINING

TRAINING 모드는 학생들에게 수동 R/C 제어를 가르치기에 가장 이상적이다. 사용자가 rudder 와 throttle에 대해 완전한 제어가 가능하지만, 최대 roll 과 최대/최소 pitch를 제한하여 그 이상 초과하지는 못한다. Plane 3.4 부터는 TRAINING 모드에서 Stall Prevention(실속 방지) Roll 한계도 제한한다.


좀더 자세하게 설명하면 다음과 같다.

    • Roll 이 [LIM_ROLL_CD] 변수보다 작다면, 조종사가 roll을 수동으로 제어함. 이 한계를 넘어서 roll 을 하려고 시도하면 roll 이 그 한계로 고정된다. 비행기가 자동으로 수평으로 돌아오지 않지만, 그 한계는 넘을 수 없다. 피치도 마찬가지다. [LIM_PITCH_MIN] 또는 [LIM_PITCH_MAX] 한계에 도달하기 전까지는 조종사가 수동으로 제어하지만, 이 한계를 넘어갈 수 없다.
    • 회전을 할때는 비행콘트롤러가 요청된 기울임 각도(bank angle)와 대기 속도를 감시한다. 요청된 기울임 각도가 실속속도 이상으로 충분하다면 그냥 진행된다. 그렇지 않다면 기울임 각도가 안전한 값으로 제한된다. 실속방지 시스템에서는 최소 25도까지 기울임을 허용한다. (대기속도 추정이 아주 나쁘더라도 계속 기동이 가능하도록 하기 위해)
    • 방향타(rudder)와 Throttle은 완전히 사용자가 수동으로 제어할 수 있다.


ACRO

ACRO(acrobatic)은 고급 사용자용 모드로서, attitude lock 이 있는 rate 기반의 안정화를 제공한다. (MANUAL 은 피하면서도) FBWA 나 STABILIZE 모드보다는 더 강하게 밀고 싶은 사람들에게 좋은 선택이다. --- 이하 생략 ---


CRUISE

CRUISE 모드는 FBWB 모드와 약간 비슷하지만, "방향 고정(heading lock)" 기능이 있다. 장거리 FPV 비행에 이상적인 모드이다. 멀리에 있는 물체를 가르키면 정확하게 그 물체를 추적해 가면서 자동적으로 고도, 대기속도 및 방향을 유지한다. --- 이하 생략 ---


AUTO

AUTO 모드는 지상국에서 설정한 미션(GPS 웨이포인트 및 기타 명령)을 따르는 모드이다. AUTO 모드에 들어가면 미션을 재설정하지 않는 이상 최종 수행했던 미션 항목으로부터 다음 항목을 수행한다.


AUTO 모드에서는 기본적으로 조종자가 "stick mixing"을 사용하여 비행에 영향을 미칠 수 있다. 즉 보조익, 승강타, 방향타 입력을 사용하여 FC의 제어를 덮어쓰는 방식으로 비행기를 조종한다. 이 기능은 [STICK_MIXING] 옵션에 의해 결정된다. 기본적으로 stick 믹싱은 FBWA 모드와 동일하게 작동된다.


주의사항 : 

"Home" 위치는 비행기의 실제 GPS 이륙 위치로 가정된다

1. RTL, Loiter, Auto 기타 GPS에 의존적인 모드가 정확하게 작동되려면, 시동을 걸기전 GPS 가 고정되어야 한다.

2. Plane의 경우, 홈 위치는 GPS가 고정된 시점에 최초로 설정된다. 시동해제 될 때까지 계속 갱신된다. 

  - 즉, RTL을 걸면 시동을 건 지점으로 되돌아 온다.
  - 그 위치가 싫다면 랠리점을 설정하면 된다.


Return to Launch(RTL)


RTL 모드는 비행기가 "Home"위치 (비행기를 시동걸었을 때의 위치)로 되돌아가서 다른 명령이 올때까지(혹은 연료가 떨어질 때까지) Loiter 하게 된다. AUTO 모드와 마찬가지로 스틱 믹싱(Stick Mixing)을 사용하여 기체를 수동으로 제어할 수 있다. RTL 모드의 목표 고도는 [ALT_HOLD_RTL] 로 설정한다.


주의사항 : 

"Home" 위치는 비행기의 실제 GPS 이륙 위치로 가정된다

1. RTL, Loiter, Auto 기타 GPS에 의존적인 모드가 정확하게 작동되려면, 시동을 걸기전 GPS 가 고정되어야 한다.

2. Plane의 경우, 홈 위치는 GPS가 고정된 시점에 최초로 설정된다. 시동해제 될 때까지 계속 갱신된다. 

  - 즉, RTL을 걸면 시동을 건 지점으로 되돌아 온다.
  - 그 위치가 싫다면 랠리점을 설정하면 된다.


LOITER

LOITER 모드는 LOITER를 시작한 지점 주변을 선회한다. 고도는 처음 Loiter에 들어온 고도를 유지한다. 선회 반경은 [WP_LOITER_RAD] 변수로 제어하지만,  [NAV_ROLL_CD]와 [NAVL1_PERIOD]에 의해서 제한 받는다. RTL 및 AUTO 모드와 마찬가지로 스틱 믹싱을 사용하여 기체를 수동으로 제어할 수 있다. 


CIRCLE

LOITER 모드와 비슷하지만, 위치를 유지하려고 시도하지 않는다. 기본적으로 비상안전 모드에 사용되며, 비상안전 이벤트가 발생했을 때, RTL로 전환하기 전에 20초간 CIRCLE 모드로 대기한다.


CIRCLE 모드는 의도적으로 매우 보수적인 모드로서, GPS 위치에 의존하지 않는다. GPS가 정지되었을 때 사용되기 때문이다. 기울기 각도는 [LIM_ROLL_CD] /3 으로 설정되며, 가속도계 교정에 GPS 속도 데이터가 없이도 가능한한 안정을 유지하려고 시도한다.


CIRCLE 모드는 처음 선회를 시작한 고도를 유지하기 위해 Throttle 및 핏치 제어를 사용한다.


GUIDED

GUIDED 모드는 미션에서 설정하지 않고 지도상의 한점으로 비행체를 날라가도록 하는데 사용된다. 대부분의 지상국은 "Click to Fly to" 기능을 지원하는데, 여기에서 지도상에 한점을 클릭하면 비행체가 그 지점으로 날라간 후 LOITER 한다.


또다른 주요한 용도는 geo-fencing이다. geo-fence 를 침범하면 비행체는 GUIDED 모드로 들어가서 미리 정해둔 geo-fence 회귀점으로 향하고, 조종자가 제어권을 받을 때까지 LOITER 선회하게 된다.


TAKEOFF

자동 이륙은 미션콘트롤에서만 설정할 수 있다. 이륙 미션은 이륙 핏치와 목표 고저를 지정할 수 있다. 이륙동안, 기체은 THR_MAX에서 지정된 최대 쓰로틀을 사용하여 이륙한다. 이륙미션은 고정익이 지정한 목표고도에 도달했을 때 완료된 것으로 간주된다.


이륙전, 기체가 바람을 향하고, 활주로 방향으로 정렬(wheedled takeoff시)하는 것이 중요하다. 기체는 이륙동안 최초의 비행기 방향을 기준으로 방향을 유지하려고 시도한다. 자동 이륙을 위해서는 전자나침판을 정확하게 교정하고 활성화하는 것이 좋다. GPS 방향은 잘못된 방향으로 이끌기 쉽기 때문이다.


바퀴달린 비행기를 사용할 경우, ground steering 제어를 위하여 WHEELSTEER_* PID 설정을 확인해야 한다. 손으로 이륙시키거나 catapult를 사용할 경우, TKOFF_THR_MINACC 와TKOFF_THR_MINSPD 매개변수를 확인하라.


LAND 

자동 착륙은 미션 콘트롤에서만 사용할 수 있다. 비행콘트롤러가 쓰로틀과 고도를 제어한다. 목표 고도로 부터 LAND_FLARE_ALT 미터만틈 가까워지거나, 목표 착륙점으로부터 LAND_FLARE_SEC초 이내이면, 기체는 LAND_PITCH_CD 피치각(centi degree)로 "flare"하고 마지막 접근을 위해 방향을 고정한다.


안정적인 자동 이착륙을 설정하는 것은 기체에 따라 아주 달라지며, 먼저 기체를 FBWA모드로 날리면서 경험을 쌓은 후, 매뉴얼이나 FBWA모드에서 제어를 넘겨받기
Setting up Plane for reliable auto-takeoff and landing is very airframe dependent, and it is recommended that you first get some experience flying your aircraft in FBWA mode, and be ready to take over control in manual or FBWA mode the first few times you use an automatic takeoff or landing.

아울러 전체 파라미터 목록을 살펴보아야 한다. 여러가지 상황에서 이착륙을 제어할 수 있는 매개변수가 많이 있기 때문이다.


===

원문 : http://ardupilot.org/plane/docs/flight-modes.html


이전글 : http://www.internetmap.kr/entry/arming-your-plane


다음글 : http://www.internetmap.kr/entry/Plane-Tuning


Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2017. 3. 27. 13:08
  • ESC 교정
    • Q_ESC_CAL=1 로 두어 ESC를 교정할 것
  • 튜닝 파라미터
    • Q_A_RAT_RLL_P = 0.25
    • Q_A_RAT_PIT_P = 0.25
  • 조종기에 설정할 비행모드
    • FBWA
    • CRUISE
    • AUTO
    • RTL
    • QHOVER
    • QLOITER
  • ASSIST 모드
    • Q_ASSIST_SPEED = 8 : 실속 속도보다 조금 높게
    • Q_ASSIST_ANGLE = 20 : 20도 이상 기울어지면
  • 하이브리드 RTL
    • RTL 모드로 전환하면 됨
    • 단, Q_RTL_MODE=1 로 둘 것
    • ALT_HOLD_RTL = 20; 미터
    • Q_RTL_ALT = 15 ; 미터
    • RTL_RADIUS = 10; 미터
  • 웨더베이닝
    • 바람이 없는 날에는 사용하지 말 것
    • 바람이 있는 날의 경우, 
      • Q_WVANE_GAIN = 0.1 ; 0.4가 되면 진동함
      • Q_WVANE_MINROLL = 5 ; 최소각도
      • Q_VFWD_ALT = 1; 전방모터 사용하는... 적용되기 시작하는 높이 : 모터가 땅을 치지 않도록
      • Q_VFWD_GAIN = 0.05 
    • 바람이 별로 없는 날의 경우
      • Q_WVANE_GAIN = 0
  • 자동미션 설정시
    • VTOL_TAKEOFF : 15 미터 지정
    • WAYPOINT 지정
    • 하이브리드 RTL 로 착륙 




Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 12. 24. 13:48

기본 튜닝(Basic Tuning)

이 글은 기본적인 Roll/Pitch/Throttle 튜닝에 관한 글입니다.

개요

첫 비행후, 콥터가 조종하는대로 잘 반응하지 않던가, 자세를 유지하는데 어려울 수 있습니다. PID 콘트롤러에 익숙하다면, 고급 튜닝 가이드를 참고하세요.  경험 많은 분이라면 자동튜닝(Autotune) 기능을 시도해 보세요. 이 글은 Mission Planner와 APM Planner 의 기본 튜닝을 다룹니다. 기본튜닝은 복잡한 튜닝 절차를 간단한 슬라이더 만으로 조정하는 것을 말합니다. 초보자들에게 가장 최적의 튜닝 방법입니다.

Roll and Pitch 튜닝

튜닝은 텔레메트리 라디오를 장착한 상태에서 현장에서 수행하는 것이 제일 좋습니다. 다음과 같은 질문을 생각하면서 비행을 해보세요.

  • Roll 및 Pitch 스틱에 기체가 어떻게 반응하는가? 원하는 것보다 빨리 반응하는가 아니면 느리게 반응하는가?
  • 어느 정도의 Throttle에서 기체가 Hovering 하는가? 중립위치 부근인가? 아니면 위인가 아래인가?
  • Throttle을 올릴 때 기체가 올라가는 속도가 빠른가? 느린가? 

텔레메트리를 지상국 컴퓨터와 연결하고, Mission Planner나 APM Planner를 실행합니다. COM 포트를 선택하고 CONNECT를 연결합니다.  다음으로 CONFIG/TUNING 탭을 누르고 Basic Tuning을 선택합니다.

페이지 윗쪽에 있는 Roll/Pitch 슬라이터부터 시작합니다. 콥터의 roll/pitch 조종 반응이 너무 빠르다면, 슬라이더를 왼쪽으로 바꾸고, 너무 느리게 움직인다면 오른쪽으로 한클릭 옮깁니다. 만족스러울때까지 이를 반복합니다. 

Throttle 튜닝

아래쪽 두개의 슬라이더를 사용하면 쓰로틀 제어를 튜닝할 수 있습니다. Throttle 스틱이 중앙 위치에서 콥터가 호버링할 수 있도록 Throttle Hover로 표시된 슬라이더를 조정하세요. Throttle 막대가 중앙보다 아래에서 호버링한다면 슬라이더를 오른쪽으로 움직입니다. 이때, 한 클릭 정도씩 움직여주고, 움직일 때마다 테스트합니다.

콥터의 상승속도를 좀더 빠르게 하려면 Trottle Accel 또는 Climb Sensitivity 라고 표시된 슬라이더를 오른쪽으로 움직이고, 좀더 부드럽게 상승시키려면 왼쪽으로 움직입니다. 클릭 하나씩 정도 움직인 후에는 테스트하여 튜닝결과를 평가합니다.

===

원문 : http://ardupilot.org/copter/docs/basic-tuning.html

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 12. 16. 00:08

Servo

이 글은 Pixhawk와 APM2에 서보를 연결하는 방법, 송신기 또는 미션플래너에서 제어하는 방법에 대해 설명하는 글이다.

개요

콥터, Plane, 로버는 카메라 셔터 누르기, 낙하산 펴기, 테니스 공 떨어뜨리기 등, 다양한 목적을 위하여 서보를 제어할 수 있다. 이들 서보는 조종사가 송신기 스위치를 통해 직접 제어할 수도 있고, 지상국 혹은 미션의 일부로 전달된 명령을 통해 제어할 수도 있다.

아날로그 서보 또는 디지털 서보 모두 사용가능하다.

픽스호크에 서보를 연결하는 방법

  • 콥터를 사용할 경우, 서보를 AUX OUT 1-4에 연결하라, MAIN OUT 1-8은 400hz로 갱신되므로 피해야 한다.
  • Plane 이나 로버를 사용할 경우, 모든 핀은 50hz로 갱신되므로, MAIN OUT 또는 AUX OUT에서 사용되지 않는 것은 어떤 것이든 사용할 수 있다.
  • AUX OUT 5/6는 기본값으로 Relay로 설정되어 있어 사용할 수 없다. BRD_PWM_COUNT 변수를 6으로 두고, RELAY_PIN 과 RELAY_PIN2 를 -1로 바꾸면 이들 핀들도 서보 제어에 사용할 수 있다.
  • 픽스호크 비행콘트롤러는 서보에 전원을 공급하지 않으므로, 반드시 외부 BEC 혹은 5V를 공급하는 ESC를 사용하여야 한다.

AMP 2.x 에 서보를 연결하는 방법

  • 콥터의 경우 서보의 신호선을 APM 왼쪽면에 있는 A10 또는 A11에 연결하라. 
  • Plane의 경우, APM 뒤쪽에 있는 RC1~RC8 에도 연결할 수 있다.
  • 전원 및 접지선을 후면 파워레일(JP1 점퍼를 제거했을 경우) 또는 외부 BEC(JP1 점퍼가 그대로 있을 경우)에 연결한다. 서보 전원과 접지선을 절대 A10 또는 A11의 +/- 에 연결해서는 안된다. 그렇게 되면 서보가 전원을 메인 CPU와 공유하게 되고, 서보의 움직임에 따라 CPU의 전원이 등락하게 되어 CPU가 정지될 수 있기 때문이다. 동일한 이유로 JP1 점퍼가 그대로 있을 때 후면 파워레일은 사용해서는 안된다. 

서보를 카메라 셔터로 동작시키는 방법

서보를 카메라 셔터를 누르는 것처럼 설정하고 제어하는 방법은 카메라 짐벌 위키페이지에 상세히 나와 있다. 이렇게 설정하면 다음과 같은 장점이 있다.

  • 서보를 CH7/CH8 보조 스위치로부터 작동시킬 수 있다.
  • 서보를 한쪽 위치로 이동시키고자 할 경우, 잠시 지연된 후 원래 위치로 돌아오는 것을 하나의 미션 명령으로 수행할 수 있다.
  • 서보를 작동시킬 때마다 콥터의 위치와 자세가 데이터플래시에 기록된다.

단, 카메라 셔터 방식을 사용하면 미리 정해진 두 지점간의 이동만 가능하다는 단점이 있다.

아래는 Sparkfun’s AVC 2012 에 출품된 테니스 공 떨어뜨리기 비디오이다.



서보를 서보로 제어하는 방법

서보를 전통적인 방식으로 제어하는 것은 미션에서만 가능하다(즉 AUTO 모드). 다음과 같은 절차를 따른다.

  • APM 이나 Pixhawk를 미션플래너에 접속한다.
  • Config/Tuning > Full Parameter List 페이지에서 해당 서보가 연결된 RCxx_FUNCTION을 0으로 설정한다. (예 : APM 왼쪽면 A10에 연결하였을 경우 RC10_FUNCTION, 픽스호크 AUX OUT 1에 연결하였을 경우 RC9_FUNCTION)
  • Write Params 버튼을 누른다.

  • 비행시키고자하는 미션을 생성하고, DO_SET_SERVO 명령을 추가하고, "Ser No" v필드에 서보 번호(예: 9)를, "PWM" 필드에 원하는 PWM 값(대부분 1000~2000)을 입력한다.

참고로 DO_SET_SERVO 명령은 "do 명령"이므로, 웨이포인트와 웨이포인트 사이에만 실행시킬 수 있다. 따라서 미션의 최초 또는 마지막 명령으로는 사용할 수 없다. DO_SET_SERVO 명령은 그 바로앞에 있는 웨이포인트가 도달하면 즉시 시행된다.

미션플래너에서 테스트하기

미션플래너의 Flight Data 화면의 하단에 "Servo" 탭이 있다. 이 화면에서 서보가 정확하게 동작하는지 테스트할 수 있다.

===

원문 : http://ardupilot.org/copter/docs/common-servo.html

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 11. 14. 17:47

Pixhawk의 목표

  • 통합된, 하나의 보드/박스(Intergrated, single board/box) 비행 콘트롤러 
  • 확장하지 않고도 대부분의 응용에 충분한 정도의 I/O
  • 사용 편이성 증대
  • 센서 성능 증대
  • 마이크로콘트롤러 자원 향상
  • 신뢰성 증가, 통합 복잡성 감소
  • BoM 및 제조 비용 감소

핵심 설계 포인트

  • FMU(Flight Management Unit) 와 IO 그리고 많은 입출력포트를 통합한 일체형 설계
  • 제조성 향상. 간단한 탑재 및 case 설계
  • FMU 와 IO용 별도의 전원 공급 (Power architecture 부분을 참고할 것)
  • FMU와 IO SRAM/RTC를 위한 온보드 배터리 백업
  • 표준 전원보드(standard power brick)과의 통합

픽스호크 FMU 메인보드

  • STM32F427 : 플래시메모리 2MB, RAM 256 KB
  • 온보드 16KB SPI FRAM (참고 : FRAM은 여기)
  • MPU9250 또는 ICM20xxx 통합 가속도계/자이로
  • MS5611 기압계
  • 모든 센서는 SPI 로 연결됨
  • SDIO를 통한 마이크로 SD 인터페이스

방진 IMU 보드

  • LSM303D 통합 가속도계/자기계
  • L3GD20 자이로
  • MPU9250 또는 ICM20xxx 가속도계/자이로
  • MS5611 기압계
  • 모든 센서는 SPI로 연결됨

I/O 포트

  • PWM 서보 출력 14개 (IO에서 8개, FMU에서 6개).
  • CPPM, Spektrum / DSM, S.Bus 등의 R/C 입력
  • 아날로그 PWM RSSI(수신신호강도) 입력
  • S.Bus 서보 출력
  • 일반목적의 시리얼포트 5개, 2 개는 흐름제어(Flow control) 있음
  • I2C 포트 2개
  • SPI 포트 1개 (버퍼 없음. 짧은 케이블만. 사용하지 않는게 좋음)
  • 2개의 CAN 버스 인터페이스
  • 아날로그 입력 3개
  • 강력 Piezo 부저 드라이버 (확장보드에서)
  • 강력 RGB LED (I2C 드라이버 호환. 외부로만 연결??)
  • 안전 스위치/LED

시스템 아키텍처

픽스호크 V2는 이전 세대의  PX4FMU+PX4IO 아키텍처를 계승하여, 하나의 물리적 모듈에 2개의 기능적 블럭을 포함하고 있음

PWM 출력

Pixhawk V2에는 IO에 연결된 PWM 출력이 8개 존재하며, 이들은 FMU가 비활성화(비상대책(failsafe)/매뉴얼 모드)된 경우에도 R/C 입력과 온보드 믹싱(on-boad mixing ???)을 통해 IO에서 직접 제어할 수 있다. 이들 출력에는 3개의 그룹에 대해 다른 갱신 비율(update rates)을 지원할 수 있다. 하나의 그룹은 4개, 2개의 그룹은 2개씩 있다. 최대 400Hz의 PWM 신호 rate가 지원된다.

6개의 PWM 출력은 FMU(Flight Management Unit)에 연결되어 있으며, 유도갱신 지연(reduced update latency) 기능이 있다????  이들 출력은 비상대책 조건에서도 IO로 제어할 수 없다. 이들 출력은 두개의 그룹(한개의 그룹은 4개, 다른 하나은 2개)에 대해 각기 다른 update rate를 지원할 수 있다. 최대  400Hz의 PWM 신호 rate가 지원된다.

모든 PWM 출력은 정전기(ESD)로부터 보호되며, 서보를 잘못연결했을 때도 망가지지 않도록 설계되어 있다. The servo drivers are specified to drive a 50pF servo input load over 2m of 26AWG servo cable. ???

PWM 출력은 개별 GPIO로서 설정할 수도 있다. 단, 이들은 고압 출력은 아니다. PWM 드라이버는 서보나 비슷한 로직의 입력만 구동할 수 있으며, 릴레이나 LED 는 불가능하다.

주변 포트(Peripheral Ports)

픽스호크 V2는 모든 주변기기가 하나의 80핀 커넥터를 통해 연결된다는 점에서 픽스호크 1과 차이가 있으며, 이 주변기기는 베이스보드(base board)를 통해 연결되는데, 각각의 어플을 위해 변경할 수 있다.

베이스 보드(Base board)

최초의 베이스보드는 각각의 주변기기 포트용으로 별도의 커넥터를 갖추고 있습니다.(일부 예외 있음)

다섯개의 시리얼포트가 제공된다. 시리얼 1,2 는 완전한 흐름제어(Flow control)이 가능하다. 시리얼 3는 GPS 포트로 추천되며, 전자나침반과 RGB LED용 I2C 와 함께, 안전단추(safety button, 가능하다면 safety LED) 도 갖고 있다. 시리얼 4에도 I2C 가 있지만, 두번째 버스상에 있어서, 두개의 전자나침반 모듈을 동시에 연결할 수 있다. 시리얼 5는 보드하래쪽 헤더로서 사용가능하다??? 시리얼포트는 모두 3.3V CMOS 로직수준이지만, 5V도 견디며, 버퍼가 있고, 정전기로부터 보호된다.

SPI 포느는 버퍼기능이 없다. 따라서 반드시 선이 짧을때만 사용되어야 한다. 신호는 3.3V CMOS 로직수준이지만 5V도 견딜 수 있다. SPI는 최초의 베이스보드 상에서 CS와 INT 핀과함께 점들을 테스트하기위해서만 사용가능하다???

아날로그 1-3은 입력이 12V까지 보호되지만, 0-3.3V 입력에 대해서만 측정된다. RSSI 입력은 PWM 또는 아날로그 RSSI 둘중의 하나만 지원된다. 이 입력은 S.Bus 출력 핀과 공유하므로, 동시에 사용할 수 없다.

CPPM, S.Bus 와 DSM/Spektrum 입력은 픽스호크와 동일하다. CAN 포트는 표준 CAN-버스이며, 버스의 한쪽끝 종말은 보드에 고정되어 있다. 드라이버는 모두 FMU 보드에 탑재되어 있다.

piezo 포트는 대부분의 piezo 요소를 5-300nF 범위에서 35V까지 구동한다. 이 포트는 극히 시끄럽게 의도되어 있어, 얻을 수 있는 음압수준은 구동되는 piezo 요소의 민감도에 의해서만 제한받는다.

I2C는 직접 구동되고, 버퍼가 없으며, FMU에서 3.3V까지 끌어쓸수 있다???

센서

픽스호크V2의 모든 비행센서는 SPI를 통해 연결된다.

보드상에 MPU9250 또는 ICM 20xxx 자이로와 가속도계, 그리고 SPI 모드로 사용되는 MS5611 이 있다.

진동격리 보드상에는 L3GD20 자이로와 LSM303D 가속도계/자력계 가 있으며, 별도의 MPU9250 또는ICM 20xxx, 그리고 SPI모드 MS5611 가 있다.

보드에 설치된 센서는 진동격리된 센서와는 다른 버스에서 동작한다.

Data-ready signals from all sensors are NO LONGER ROUTED???

전원 아키텍처

픽스호크 V2는 FMU에서 전원관리를 제거하고,  it instead grows on the Pixhawk power by removing the Servo rail as the primary source of backup power for the FMU, and it leaves it there for the IO last chance failsafe.

3.3V 공급은 픽스호크 1과 동일하다.

  • FMU와 센서를 위해 디지털/아날로그 전원 도메인을 분리함
  • FMU 전원공급문제에 대비해, IO를 위한 백업 전원


전원관리 모듈

픽스호크 V2의 전원 아키텍처의 핵심 기능은 다음과 같다.

  • 비행콘트롤러와 주변기기용으로 단독, 독립적인 5V 공급
  • 2개의 전원보드 또는 호환가능한 대안과 통합???, 전류 및 전압 센싱 포함
  • 낮은 전력 소모 및 열 분산
  • 전력 분산 및 주변 장치 모니터링
  • 일반적인 결선실수에 대한 보호 : 과소/과대 전압 보호, 과대전류보호, 온도 보호
  • 브라운아웃 탄력성 및 감지

FMU와 IO 전원 공급

FMU와 IO는 모두 3.3V에 동작하며, 각각 개별 이중채널 정압기(regulator)가 있다. 픽스호크 1과 같이 각각의 정압기는 features a power-on reset output tied to the regulator’s internal power-up and drop-out sequencing.

전원(Power Source)

픽스호크 V2 전원은 USB 또는 전원보드 포트, 또는 2차전원포트를 통해 공급받을 수 있다. 각각의 전원은 역-극성 연결 및, 다른 전원으로부터의 back-powering에 대해서 보호된다.

FMU +IO 전원은 모든 LED와 Piezo 부저를 포함하여 250mA 이다. 주변기기 전원은 총 2.5A로 제한된다.

전원 보드 포트(Power Brick Port)

픽스호크 V2가 가장 선호하는 전원은 전원보드 포트이다. 

서보 전원

픽스호크 V2는 표준(5V) 서보전원  및 고전압(최대 10V. 약간의 제한은 있음) 서보전원을 지원한다.

IO는 서보 커넥터로부터 10V까지 전원을 받아들인다. 이를 통해 주전원공급이 끊어질 경우 서보 파워를 대체전원으로 사용할 수 있다.

FMU와 주변기기는 이제 서보 커넥터로부터 전원을 공급받지 않는다.

보조 전원

픽스호크 V2는 백업용 전원포트가 추가되었다. 설정은 주 전원입력과 동일하다.

5,7V 이상의 입력전압에서 전원이 차단된다.

픽스호크 V2와 주변기기는 전원포트나 기타 전원이 필요한 전류를 공급할 수 있을 경우, 보조 전원에서 작동될 때 총 2.75A까지 끌어쓸 수 있다. 

픽스호크 V2에서 서보로는 전력이 공급되지 않는다.

서보 레일

I/O 칩은 서보레일로부터 10.5V까지 전력을 받을 수 있다. 다른 두가지 전원이 끊어지는 불행한 사태에서, 매뉴얼 모드로 전환하는데 사용된다. 이는 고정익비행기에서만, I/O 칩이 올바르게 매핑되었을 때만 유용하다.

USB 전원

USB에서 받는 전원은 소프트웨어 갱신, 테스트, 개발 목적으로 지원된다. USB 전원이 테스트를 위해 주변기기로 전원을 공급하지만, 총 전류 소모는 주변기기를 포함해 500mA 로 제한되어야 한다. host USB 포트의 overloading을 막기위해서.

다중 전원(Multiple Power Sources)

여러개의 전원이 연결되면, 전압이 유효한 가장 우선순위가 높은 전원에서 전원이 공급된다.

대부분의 경우, FMU는 전원보드를 통해 공급받거나 전원포트 혹은 보조 전원레일을 통해 호환가능한 제3의 정압기(off board regulator)에서 공급받아야 한다.

데스크탑 테스트에서 USB로부터 전원을 끌어오면, 별도의 BEC나 이와 유사한 서보 파워소스가 없어도 된다. (단, 서보 그자체는 별도의 전원이 필요하다)

요약

아래는 나열한 요소별로, 기기가 각각의 입력에서 공급받을 수 있는 입력 전압범위를 표시한 것이다.

 

 전원포트(brick)

보조 포트 

USB 포트 

서보레일 

FMU 

4-5.7V 

4-5.7V

4-5.7V

 

IO

4-5.7V

4-5.7V

4-5.7V 

4-10.5V

주변기기

4-5.7V, 최대2.5A 

4-5.7V, 최대 2.5A 

4-5.7V, 250mA 

 


주변기기

주변기기 전원(파워모듈에서)

픽스호크 V2는 power routing을 제공한다. 이 과정에서 전압 감지 및 보호, 필터링, 스위칭, 전류 제한, 주변기기를 위한 임시 억제(suppression) 등이 이루어진다. 주변기기 전원출력에는 정전기(ESD) 및 EMI 필터링 기능이 있으며, 전원공급 보호 scheme에 따라 주변기기에 5.5볼트 이상 존재하지 않도록 보증한다. 공급전압이 2.7V 이하 혹은 5.7V 이상이 되면, 주변기기로부터 전원이 차단된다.

주변기기 전력은 두가지 그룹으로 구분된다.

  • 시리얼 1은 텔레메트리 라디오에 전원을 공급하기 위한 목적으로, 개별적인 1.5A 전류제한이 있다. 이 출력은 별도의 EMI 필터링이 있으며 USB / 전원보드 입력으로부터 직접 끌어온다. 이 포트의 최대 전력소모는 2A를 넘지 않아야 한다. 이 정도는 효율이 적당한 30 dBm 송신기에 충분하다.
  • 다른 주변기기는 모두 1A 전원제한을 공유하며, 하나의 전원스위치를 공유한다. 이 포트에서 끌어오는 최대 전력은 1.5A를 넘어서는 안된다.

각각의 그룹은 소프트웨어 콘트롤하에 개별적으로 스위치된다.

Spektrum / DSM R/C 인터페이지는 위에서 말한 그룹이 아닌 자체 정압기에서 전원을 끌어온다. 이 포트는 소프트웨어 콘트롤로 스위치되어,  Spektrum / DSM 바인딩이 수행된다. Spektrum 수신기는 일반적으로 약 25mA를 끌어쓴다.

S.Bus와 CPPM 수신기는 서보레일로부터 직접 전원을 공급받으므로, 반드시 서보 공급 전압을 지원해야 한다.

배터리 백업

FMU 및 IO 마이크로콘트롤러는 모두, 배터리 백업이 되는 실시간 시계와 SRAM 이 있다. 보드에 있는 백업 배터리는 시계와 SRAM에 사용되는 용도로 용량이 충분하여, 의도하지 않은 단전이나, 기타 공중에서 재시작되는 경우, 순서에 따라 복구하는데 사용되는 저장공간을 제공한다.

콘덴서는 FMU 3.3 V 레일로부터 충전된다. 이는 이 기능을 지원하는 소프트웨어가 존재하는 경우에만 동작한다.

Voltage, Current and Fault Sensing

전원 보드에서 보고되는 배터리 전압 및 전류를 FMU에서 측정할 수 있다. 아울러 5V unregulated 공급레일도 측정할 수 있다. (브라운아웃 조건을 검출하기 위해) IO는 서보 파워레일 전압을 측정할 수 있다. 주변 전력포트의 과전류 조건은 FMU에서 감지할 수 있다. 하드웨어 lock-out 기능이 있어, 이들 포트에서 영구적인 합선으로 인한 손실을 막을 수 있다. lock-out은 FMU 소프트웨어에서 재설정할 수 있다.

FMU 과/과소 전압 감시자는 브라운아웃 사태동안 FMU가 재설정되지 않도록 하는데 소요되는 출력을 제공한다.

EMI Filtering and Transient Protection (on the normal Base Board, must be specified for externally supplied base boards.)

EMI 필터링 및 임시 보호(일반 베이스보드에서. 외부에서 공급되는 베이스보드에 지정되어야 함)

EMI filtering is provided at key points in the system using high-insertion-loss passthrough filters. These filters are paired with TVS diodes at the peripheral connectors to suppress power transients

Reverse polarity protection is provided at each of the power inputs. USB signals are filtered and terminated with a combined termination/TVS array. Most digital peripheral signals (all PWM outputs, serial ports, I2C port) are driven using ESD-enhanced buffers and feature series blocking resistors to reduce the risk of damage due to transients or accidental misconnections.


===

원문 : http://www.proficnc.com/index.php?controller=attachment&id_attachment=5

Pixhawk2.pdf


Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 11. 7. 00:25

오랫동안 기다리던 Pixhawk 2.1 이 11월 중 발매될 예정입니다. 당연히 3dr.com 에서 제작할 줄 알았는데, 이번에는 호주의 ProFiCNC 와 중국 Hex Technology 에서 제작중인 것 같습니다. (3dr.com 에서는 Pixhawk mini 라는 걸 판매중입니다.)

Pixhawk 2.1은 Pixhawk 에 비해 여러가지 장점들이 많은 것 같습니다. 일단 간단히 정리해보려 합니다. 아래는 ProFiCNC 및 Hex Technology 사이트 첫 화면에 나오는 내용을 정리한 것입니다.

Pixhawk2 는 최신 오플소스 AutoPilot 이다

  • 모듈식 설계, 접속보드(Carrier board)를 자유롭게 선택할 수 있음 - 위 그림에서 정사각형 모양의  Cube 쓰여져 있는 것이 IMU 등 여러가지 센서와 FC로 구성된 Pixhawk2 본체? 이고, 아래쪽에 여러가지 주변기기에 대한 인터페이스가 있는 것이 접속보드입니다.
  • 100% RTK GPS 사용가능. 다중 GPS가 표준 - GPS/Glonass/Galileo 등 여러가지 GNSS 신호를 사용하는 것은 물론, 10cm 이내까지 측정가능한 RTK GPS 까지 지원한다고 합니다.
  • 3중 중복 IMU 시스템 - 여러개의 센서를 중복으로 설치함으로써, 하나의 센서가 망가지더라도 안정적으로 운영이 가능하도록 했답니다.
  • 분리된, 진동방지, 온도조종식 IMU - IMU 가 분리되어 있고, 자체적인 진동방지체계가 갖춰져 있어서 방진장치가 필요없으며, 온도를 유지시켜 한겨울에도 사용가능하답니다.
  • 인텔에디슨(Intel Edison) 포트가 내장 -  인텔 에디슨은 "인텔에서 착용 컴퓨터와 사물 인터넷 장치의 개발 시스템으로 제공하는 초소형의 컴퓨터 온 모듈"(from 위키피디아)로서, 픽스호크2 와 에디슨을 연결해서 사용하면, 이미지 처리등의 고난이도 연산을 에디슨에서 수행하여 결과를 픽스호크2에 보내어 충돌 회피를 하는 등, 다양한 기능을 추가할 수 있을 것으로 생각됩니다.

CUBE

독립된 진동방지 IMU

  1. IMU와 FMU(Flight Management Unit)이 분리되어 있어 센서의 간섭을 효과적으로 감소시킴
  2. Foam(발포고무를 사용하여 고주파 진동필터링, IMU 측정시 잡음 감소

온도 조절 IMU

온도조절 IMU를 위해 발열저항 내장. 영하에서도 사용가능

3중 중복 IMU

3x 가속도계
3x 자이로
3x 전자나침반
3x 기압계

모듈식 비행콘트롤러

간결성을 위한 모듈식 큐브 설계. 모든 입출력은 하나의 DF17 커넥터를 통해 이루어짐. 특정 어플용으로 별도의 접속보드(Carrier Board) 사용가능. 자체적인 접속보드의 설계 및 제작도 간단함

접속 보드(Carrier Board)

접속보드에는 인텔 에디슨(Intel Edison)용 포트가 내장되어 있어, 에디슨을 Pixhawk 2.1 보조 컴퓨터로 연결할 수 있음. 인텔 에디슨은 강력한 처리능력과 개발자 중심의 개발환경이 갖춰져 있어, Pixhawk 2.1에 다양한 기능을 추가할 수 있는 가능성을 부여함.

표준 접속 보드

다양한 입출력 포트 제공

핵심 설계 포인트

  • IMU 가열 시스템을 내장하여, 극단적인 온도(영하)에서도 비행 가능
  • 튼튼한 DF17 인터페이스 커넥터를 채택하여, 추락/충돌시 저항성 향상
  • 수직이착륙기(VTOL), 고정익, 멀티콥터, 헬리콥터, 모형자동차, 보트, 잠수함, 일반 로봇 등 지원
  • 인텔 에디슨 포트를 내장하여, 끼우기만 하면 에디슨의 처리 능력과 연결 가능
믿음직한 능력 정확안 위치 유연한 사용성

성능

오픈 자동 무인 기체를 위한 세계 최고의 고급 비행콘트롤러.

 

 픽스호크

픽스호크2.1 

고정익, 회전익, 수직이착륙 

O

개방형 개발환경

O

O

모듈식 설계

x

O

방진 IMU

O

3중 중복 IMU

x

O

cm 수준의 GPS 

x

O

다중 GNSS

x

O

극단적환경에서의 비행

x

O

Pixhawk2.1은 이전 버전인 Pixhawk에 비해 모든 면에서 성능이 훨씬 향상됨



Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 4. 1. 16:55

Mission Planner에서 항공사진 촬영 계획 수립하면 이제 드론을 날려야죠.


촬영장소로 이동한 후에는 드론을 날리기 좋은 곳에 설치하고 절차에 따라 시동을 걸고 날리면 됩니다. 그 과정은 쿼드콥터 날리기 총정리를 참고하면 됩니다.


이 글은 이중에서도 날리는 방법에 대한 글입니다. 원래는 Futaba 14G와 같은 송신기를 사용하여 제어하지만, 제가 몇번 날려보니, 자동 미션을 수행할 경우 구지 송신기로 제어할 필요가 전혀 없었습니다. 어차피 기체의 현재 상태를 알기 위해서는 지상국 앱을 동시에 운영해야 하는데, 송신기로 제어하다가 지상국 앱으로 제어하다가 하다보면 오히려 혼란이 더 크기 때문입니다.


제 경우엔 안드로이용 지상국인 Tower 를 사용하여 제어를 했습니다. 만약의 경우를 대비하여 송신기를 켜두기는 했지만, 처음 시동 걸때 부터 시동을 끌때까지 모두 Tower만 사용해도 무리가 없었습니다.


아래는 제가 Tower로 자동미션을 수행한 모습입니다.



이렇게 촬영한 영상을 Geocoding을 하였습니다. 그 과정은 이 글 아랫부분에 정리되어 있습니다. 아래는 지오태깅한 결과를 구글어스에서 확인하는 모습입니다.



모든 결과는 여기에 들어가시면 볼 수 있습니다. geotagged 폴더 속에 있는 파일이 최종 파일입니다.

또... location.kml 이라는 파일을 클릭하면 위의 유튜브에 있는 내용을 직접 확인해 볼 수 있습니다.





글을 마치기 전에 한 가지 더. 며칠 전 배터리 전압 강하 때문에 골치를 썩다가 결국 그게 문제가 없는 것이며 다만 Battery Failsafe를 14.8볼트로 설정했기 때문에 발생했다고 했는데, 아래는 이번 미션 로그에서의 전압기록입니다.



시작 부분에서 급격한 전압 강하가 일어나는 것도 보입니다. 맨마지막 잔여 전압이 14.0 부근인데, 착륙을 시킨 이후에는 14.6 정도로 회복한 게 보이실 겁니다. 앞으로도 Battery Failsafe는 14.0 으로 설정해 두면 무난할 것 같습니다.



===

자... 이제 마지막 단계로 접어들었습니다. 정사영상과 3D 모델을 만드는 겁니다. 저도 아직 해보지 않아서 모르겠지만, 그다지 어렵지는 않다고 알고 있습니다. 그래도 제게 행운을 빌어주시길~


민, 푸른하늘










Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 3. 30. 16:59

제가 조립한 드론은 DJI Flamewheel F450 프레임에 Pixhawk 비행콘트롤러, Quattro 4 in 1 ESC, DJI 2212 /920KV 모터를 달았습니다. 그리고 다리와 캐논 카메라를 부착했고요. 총무게는 1.8 kg 정도입니다.


겨울동안은 날리지 못하고 있다가 지난 주 처음으로 시범비행을 했고요, 엊그제는 정식으로 촬영을 나갔습니다.


그런데 배터리와 관련하여 이상한 점이 발견되었습니다. 처음 장착을 하면 4.2V * 4 = 16.8 볼트 정도가 되는데, 일단 시동을 걸면 전압이 뚝뚝 떨어지고... 날기 시작하면 15.4 볼트 정도가 되고... 얼마 날리지 않아 Battery Failsafe 한계로 설정한 3.7V * 4 = 14.8V 이하로 떨어진다는 겁니다. 그로 인해 약 2분 30초 정도뿐이 날리지 못했는데도 저전압 경고가 발생하여 시동지점으로 돌아옵니다.


그런데... 다시 사무실에 돌아와 체크를 해보면 15.5 볼트정도 남았다고 나옵니다. 배터리 잔량은 56%라고 나오고요. 


그래서 여기저기 알아봤습니다. 원래 시동을 걸면(즉, 전기를 뽑아쓰기 시작하면) 전압이 떨어지는 게 당연하다고 합니다. 페이스북그룹에서도 그렇다는 분이 계셨는데, DIYDrones.org 에도 저와 거의 비슷한 현상을 호소하시는 분이 계시더군요.


일단... 번역을 해보면 다음과 같습니다.


문의내용 : 4S 10000mAh 배터리 (10C), 3DR 파워모듈, U3 700kv 모터, 40A AIR ESC를 탑재한 옥타콥터를 조립했음. 이 배터리는 최대 100A(10C * 10Ah 이므로) 정도 연속적으로 뽑아낼 수 있음. U3 모터 8개는 최대 160A 까지 뽑아쓸 수 있음. 3DR 파워모듈의 한계인 60A 를 초과하지 않도록 사용할 계획.


완충(16V) 한 상태에서 13.8 볼트까지 너무나 빨리 떨어져서 battery FS가 발동됨. 그런데 Mission Planner에서는 배터리가 95% 남았다고 나옴. 시동해제하고 전압을 재어보면 거의 15.8볼트. 


그래서 Battery FS를 아주 낮은 값 6.0V 로 설정하고, current 를 3000(30%)가 되면 배터리 FS가 발동되도록 함. 


며칠간 잘 날림. 실재 전류는 대부분 20-30A 였음. 추락사고 발생. 그때 MP에서 전압은 8.0V 였음. (배터리 FS가 발동되지 않았음). 그때 배터리 실재 전압을 측정해봤더니 13.3 (셀당 3.325) 였음. 다행히 추락당시 고도가 10미터 쯤으로 심각한 파괴는 없었음.


--- 이 다음부터 문의하는 내용인데 무슨 내용인지 정확히 파악이 안되어 생략함


아래는 이에 대한 답입니다.


모든 LiPo 배터리는 하중이 실리면 전압이 떨어진다. 떨어지는 정도는 소모 전류와 해당 배터리의 내부저항에 따라 달라진다.


C 가 낮은 배터리는 내부저항이 높으므로, 이 사례에서의 전압강하 그리고 하중을 제거했을 때 전압이 회복되는 것은 특별히 놀랄만 하지 않다.


이러한 문제를 감소시키는 방안으로는...

a) 센서 캘리브레이션
    http://ardupilot.org/copter/docs/common-power-module-configuration-in-mission-planner.html
b) 60A 에서 호버링 하고 있다면, 조종시 하중뿐 아니라, 그보다 높은 과도전류가 흐를 수 있다. 따라서 파워모듈의 과열이 이러한 문제를 악화시킬 수도 있다. 로그 파일을 보면 소비전력을 파악할 수 있다. 만약에 내가 당신이라면 더 높은 등급의 파워모듈 및 C가 높은 배터리를 구입하겠다.


페이스북 Hoi Jin Kim 님이 알려준 링크에도 비슷한 이야기가 쓰여져 있습니다. 이 글에는 오래된 배터리가 전압강하가 심하다는 이야기도 있네요. 배터리가 오래되면 내부 반응에 의해 저항이 높아지니까 이런 말도 틀린 게 아니겠죠.


이런 글들이 시동을 걸면 전압이 떨어지는 게 자연스런 현상이라는 걸 파악하는 데는 도움이 되었지만, 제 문제와는 직접적인 관련이 없는 내용입니다. 10C 짜리 배터리를 사용했다는 점, 3DR 파워모듈로는 감당이 안되는 옥타콥터에 사용했다는 게 주요 문제로 보입니다.


그런데 저의 경우에는 무게도 얼마 되지 않고(1.8kg 정도), ESC는 20A 짜리이기 때문입니다. 25C 배터리는 100A 까지 지속적으로 뽑아낼 수 있으므로(4000mA *25) 이 문제와는 완전히 상관이 없습니다.

====


하지만 이 질문답변을 보고 로그파일에 전압과 전류를 살펴봐야겠다고 생각이 들었습니다. 그래서 즉시 로그파일을 뒤졌습니다. 두번을 날렸는데 아래는 첫번째 로그중 전압(Volt)관련 그래프입니다. (CURR->Curr 에 있습니다.)



우선 맨 윗 선을 보면 배터리가 16.6 볼트 정도에서 시작한다는 걸 알 수 있습니다. 4.2*4=16.8이니 얼추 비슷합니다. 그런데 시동을 걸면 15.8 정도로 떨어지고, 날리기 시작하면 15.5 볼트 정도로 떨어집니다. 15.5 볼트는 셀당 전압으로는 3.9 정도가 됩니다. 


그 이후에는 천천히 내려옵니다. 약 3분쯤에 Battery Failsafe가 발동되었을 때는 14.5볼트(셀당 약 3.6볼트) 정도입니다. 제가 배터리 FS를 14.8볼트(셀당 3.7V)에 설정했으니 정확하게 발동된 셈입니다. 그리고 나서 RTL, Land 로 Home 위치로 착륙합니다.


착륙한 뒤에는 전압이 다시 15.2 정도로 올라가는 게 보입니다. 하중이 사라지면서 전압이 회복되는 것이죠.


결론적으로... 뭐가 잘못된 게 아니라 정상적으로 작동한 것입니다. 다만, 하중이 걸리면 전압이 떨어진다고 해도 실질적으로 파워는 남아 있습니다. 돌아와서 측정한 사진(아래)을 보시면 배터리가 56%나 남아 있다고 되어 있습니다. 즉, 아직 한참 더 날릴 수 있었는데 경고가 발생했다는 것입니다.



이때 쯤 생각이 난 것이... 이전 비행에서는 배터리 경고를 14.0으로 해서 나갔었는데, 이번엔 14.8로 설정해서 나갔다는 것이었습니다. 그래서 이전 비행 로그를 비교해 봤습니다.



이 비행은 총 11분 쯤에 배터리 경고가 떴습니다. 그때 전압은 14.0 보다 약간 낮은 정도였고요. 14.0으로 설정을 해도 충분히 비행이 가능하다는 것을 알 수 있습니다. 이 그래프에서도 착륙후 전압이 회복되는 걸 볼 수 있는데, 14.5 정도 수준이었습니다. 한 20% 정도 남아 있는 수준입니다. 


====

이제 이상이 없다는 건 파악했으니, 내일 다시한번 촬영을 나갑니다. 이번엔 성공해서 좋은 그림을 보여드리겠습니다. ㅎㅎ


민, 푸른하늘

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 3. 25. 17:24

쿼드콥터에 사진기를 장착하고, 자동미션을 이용해 항공사진을 촬영하면, 일련의 사진이 촬영됩니다. 


이 사진들은 물론 그냥 사용할 수도 있지만, 대부분의 경우, 특히 항공사진측량의 경우에는 촬영된 위치와 방향이 중요합니다.


그런데, 제가 조립한 기체는 GPS가 따로 달려있지 않은 일반 똑딱이(Canon IXUS 870 IX)를 사용하여 촬영했기 때문에 촬영된 위치나 자세한 정보가 전혀 없습니다. 하지만, Pixhawk의 경우에는 모든 촬영중 발생하는 상황이 LOG 파일로 저장됩니다. 이 정보를 사용하면 사진에 촬영 위치를 넣을 수 있습니다. (이 과정을 Geotagging 이라고 합니다.) 이 글은 ardupilot.org/copter의 글을 참고하여 정리한 것입니다.


먼저 아래 좌측은 제가 맨 처음 시범 촬영한 사진들을 적당한 위치로 배열해 본 것입니다. 오른쪽은 다음 지도에서 동일한 지역을 복사한 것이고요. 


Mission Planner를 이용한 Geotagging 은 두 가지 방법이 있습니다. 하나는 로그에 들어 있는 CAM 메시지를 사용하는 방법이고, 다른 하나는 드론과 카메라의 시간을 동일하게 맞춘 뒤 이를 기준으로 위치를 끌어오는 방법입니다.


먼저 미션 플래너에서 Ctrl+F를 누르면 아래와 같은 화면이 뜹니다. (메뉴에는 없습니다.) 이중에서 맨 위에 있는 메뉴인 [Geo ref Images]를 사용하면 됩니다.



아래는 [Geo ref Images]를 눌렀을 때 나오는 화면입니다. 맨위에 있는 [Browse Log]는 촬영당시의 Log 파일을 찾아서 넣어주고, [Browse Pictures] 에는 촬영된 사진들을 넣어주면 됩니다. 이때 촬영때의 사진만 따로 넣어둔 폴더를 지정하면 됩니다. 이 폴더에는 다른 종류의 파일은 들어있어도 되지만, 사진은 오직 촬영당시의 사진만 존재해야 합니다. 그리고 사진들은 알파벳으로 정렬했을 때 처음 촬영된 사진이 맨 위로 올라오고 순서여야 합니다.



그 아래에 있는 Time offset 과 CAM Message Synchro 가 Geotagging  방식을 선택하는 겁니다. Pixhawk와 연동하여 촬영하면 CAM Message Synchro를 눌러주면 됩니다.


다 준비가 되면 Pre-Process를 눌러줍니다. 그러면 한참 계산을 하고 맨 아래에 Done 이라고 나타납니다. 



다음으로 [Location KML] 을 누르면 촬영된 위치가 맞는지 구글어스에서 확인할 수 있습니다. 아래는 시범 촬영한 사진을 확인해본 모습입니다. 여기에서 하얀줄은 드론의 비행 코스, 노란 핀은 촬영한 위치입니다.



마지막으로 [Geo Tag Images] 를 눌러주면 원본 사진이 있는 폴더 속에 Geotagged 라는 폴더가 생겨 있습니다.


===

위 촬영은 보시는 것처럼 3코스만 촬영했기 때문에 아무래도 부족하여 새로 촬영을 나갔습니다. 이 영상을 사용하여 위의 방법대로 지오태깅을 하려고 했는데 문제가 발생했습니다. Preprocessing을 누르면 아래처럼 사진 매수가 일치하지 않는다고 나오는 겁니다. 정확한 원인은 찾지 못했는데... 아무래도 중복도를 높이다보니(80%) 비행콘트롤러에서 촬영메시지를 자주 보내지만, 카메라에서 이를 처리하지 못했기 때문이 아닌가 하는 생각이 들었습니다. (다음에는 중복도를 좀 낮춰서 촬영해야 할 듯 싶습니다.)



아무튼... 그래서 여러가지를 고민하다가, 시간태그를 이용하는 방법으로 지오태깅을 하기로 했습니다. 이 방법은 [Geo Ref Images] 화면에서 아래와 같이 [Time offset]을 선택하고 [Estimate Offset]을 누르면 아래 알림창에 몇개의 사진을 기준으로 오프셋을 계산해 주는데, 이 값을 "Seconds offset"에 복사해 넣은 뒤 PreProcessing을 눌러주면 됩니다. 나머지 과정은 동일하고요.



그런데 제 경우엔 위에서 보는 것처럼 53.05를 넣으면 아주 이상한 위치로 나와서 촬영된 사진을 보면서 적당히 판독하여 -8로 넣어줬더니 대략 맞더군요.


그 다음도 위에 있는 방법과 동일합니다. [Preprocess]를 누르고 [Location KML]을 통해 위치가 맞는지 확인한 후 마지막으로 [GeoTag Images]를 눌러주면 됩니다.


아래는 이 방법으로 지오태깅을 하면서 만든 KML을 구글어스에서 돌리면서 녹화한 것입니다. 이번엔 총 6개의 코스가 잘 촬영됐네요. ㅎㅎㅎ



===

참고로... 원래 Pixhawk의 로그 파일에는 사진 촬영 당시의 위치 뿐만 아니라, 자세 (기체의 방향) 정보도 들어 있습니다. 아래는 로그파일 첫부분에 들어 있는 필드 정의에 관한 내용인데요, Lat, Lng, Alt 등 위치 뿐 만 아니라, Roll, Pitch, Yaw 등의 자세 정보도 함께 저장됨을 알 수 있습니다. 


- FMT, 148, 39, CAM, QIHLLeeccC, TimeUS,GPSTime,GPSWeek,Lat,Lng,Alt,RelAlt,Roll,Pitch,Yaw


예를 들어, 아래는 맨 첫 사진에 대한 로그입니다. 여기에서 경위도 및 높이는 (37.5154446, 126.8776732, 106.66) 이고, 각도는(<-6.60, -3.55, 21.24) 로 나와 있습니다. 


- CAM, 577738321, 458991000, 1888, 37.5154446, 126.8776732, 106.66, 99.75, -6.60, -3.55, 21.24

다만, 이 값은 그대로 활용하기는 곤란합니다. pixhawk의 IMU 는 Pixhawk 콘트롤러 내부에 들어 있어 카메라가 달려있는 방향과 일치하지도 않을 뿐 더러, 카메라가 별도로 흔들릴 수도 있고... 아주 완벽하게 일치된다고 해도 Pixhawk의 IMU 자체가 별로 정확하지 않기 때문입니다.


그래도... 전문가에겐 이런 정보가 없는 것보다는 도움이 되겠죠. 저도 언젠가 시간이 되면 천천히 한 번 뒤져보고 싶네요.


민, 푸른하늘

===

p.s. : DROTAG를 사용하면 한방에 해결된다네요. Pixhawk 의 Telemetry 포트에 연결만하면 된다는데.. 다만 사진 촬영간격이 최소 3초가 되어야 한다는데... 이건 개선되겠죠. 현재는 품절이라는데 좀더 기다려봐야겠습니다.




p.s. : Mission Planner 대신 UgCS를 사용하면 지오태깅은 해결할 수 있답니다. 이 글을 참고하세요. 무료버전도 가능합니다.

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 3. 21. 17:38

엊그제 성공적인 시범비행 후, 그동안 미뤄왔던 걸 확인하기로 했습니다. 바로 진동측정입니다. 


이제까지 진동측정을 해보지 못한 것은 몇 분 정도 계속 비행을 한 데이터가 있어야 했기 때문이었습니다.


사실 Pixhawk를 설치할 때 지침에 따랐기 때문에 진동은 그다지 문제가 되지 않을 것이라고 생각했지만, 그래도 한번도 해보지 않았기 때문에 조금 찜찜헀었습니다.


이 글은 Copter 문서를 기반으로 해서 필요한 부분만 정리한 것인데, 데이터 분석 부분은 제가 실제로 날린 데이터를 사용했습니다.


참고 : 진동 측정 문서는 새로 정리했습니다. 새로운 내용이 조금 추가된 듯 합니다. 이 글과 함께 새로 번역한 문서도 참고하시기 바랍니다.

====

비행콘트롤러는 진동에 민감합니다. 가속도계가 기체의 위치를 측정할 때 사용되는데, (기압계 및 GPS 도 함께) 진동이 크게 되면 정확한 위치를 기반으로 하는 모드의 성능이 떨어지게 됩니다. 진동은 모든 종류의 기체에 영향을 미치지만, 그중에서도 Copter가 가장 심각하게 발생합니다. 또한 AltHold, Loiter, Guided, Postion, Auto 등의 모드에 영향을 많이 미칩니다.


진동 수준 체크방법


우선 몇분 정도 이상 비행한 데이타가 필요합니다. 비행후, dataflash 에 들어 있는 로그를 다운로드 받아야 하는데, 여러가지 방법이 있지만, 그냥 Pixhawk의 MicroSD 카드를 PC에 꽂아서 복사하는 게 가장 간편합니다.



이중 맨 마지막 파일 (50.BIN)이 최종 비행에서 기록된 로그입니다. 이 파일을 아래의 위치에 복사해 줍니다. (로그파일 기본 저장장소임. 다른 곳도 무방함)


...\Mission Planner\logs\QUADROTOR\1


FLIGHT DATA 화면으로 들어가서 아래 DataFlash Logs를 클릭하고, PX4 .Bin to .Log 를 누르면 이 파일(.BIN)이 비행 로그(.LOG) 형식으로 변환됩니다.



그 다음 [Review a Log]를 누르면 다음과 같은 화면이 뜨게 됩니다.



진동을 분석하기 위해서는 오른쪽 아래에 있는 항목 리스트에서 VIBE 를 확장시키고 Vibe_X, Vibe_Y, Vibe_Z를 선택해 줍니다. 선택할 때마다 해당 데이터가 그래프로 표시됩니다. 



위 그림은 제 시험비행에서 사용한 데이터입니다. 이 그림에서 Vibe_X(빨강), Vibe_Y(초록)는 작은 값이나, Vibe_Z(파랑)은 값이 큼을 알 수 있습니다. 대략적으로 평균이 15 m/s/s 정도이고 최대 30 내외인데, 이 정도는 허용 가능한 정도라고 합니다. (최대값이 60 m/s/s 를 초과하면 안됨)


그 다음 CLIP0, CLIP1, CLIP2를 클릭해서 그래프를 그려봅니다. 이 값들은 가속도계 중 하나가 최대값(16G)에 도달하면 약간씩 누적 증가하게 되는 값입니다. 비행중 0을 유지하는 게 가장 좋으나, 100이하라면 괜찮음.  저의 경우에는 아래에서 보는 것과 같이 3개 모두 0을 유지했습니다.



====

아래는 진동에 문제가 있는 경우 볼 수 있는 그래프입니다.(Copter 문서에서 가져온 그림입니다.) 이러한 경우에는 별도의 Damping 조치가 필요합니다.



이상입니다. 선이 얼기설기 엉켜 있어서 사실 약간 걱정되기도 했는데, 문제가 없다고 하니 기분이 좋네요. ㅎㅎㅎ


민, 푸른하늘



Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 3. 20. 03:11

벌써 두달 전쯤, DJI F450 프레임에 Pixhawk 비행콘트롤러를 올린 기체를 조립 완료했습니다. 


하지만, 겨울철이라 춥기도 하고 바람도 심해 계속 미루고 있다가, 올들어 가장 온도가 높았다는 엊그제 드뎌 기체를 들고 나가 날렸습니다. 물론 사진 촬영도 했고요.


비행하는데 그다지 어려운 건 없었습니다. 예전에 기본 튜닝을 해둔 덕분입니다.


이번에는 그냥 정리해둔 매뉴얼에 따라서 Stabilize 모드로 띄웠다가 Loiter 모드로 호버링이 잘 되는지 확인한 후, 미리 설정해둔 비행 계획에 따라 Auto 모드로 날렸습니다.


날리던 중 아무래도 배터리가 부족할 듯 싶어 중간에 RTL(Return to Launch) 명령을 내렸지만, 마지막으로 Land 명령으로 착륙을 시켰으니, 왠만한 건 다해본 셈입니다.


다만, 별로 찍어둔 영상이 없어서... 보여드릴 게 없네요. ㅠㅠ


Pixhawk는 조종기로도 조종할 수 있고, 안드로이드에 Tower라는 앱을 설치하여 조종할 수도 있습니다. 제가 필요한 것이 항공사진 측량이고, 따라서 대부분 자동 운항이 필요한데, 이때는 아무래도 Tower 앱으로 조종하는 게 편할 것 같다는 생각을 했습니다.


이번에 촬영한 항공사진은 여기에 모두 들어 있습니다. 안양천 신정교에 있는 RC 비행장입니다. 총 27장을 촬영했네요. 


현재까지 이 사진들을 별달리 처리한 것은 없습니다. 그냥 가장 쉽게 Microsoft PhotoSynth에만 넣었습니다. 다만, PhotoSynth는 Silverlight 이 필요하기 때문에 구글 Chrome 에서는 보실 수 없습니다.



이번에 PhotoSynth를 만지면서, 그동안 여러가지로 많이 기능이 추가되었다는 걸 알게되었는데, 한가지 아쉬운 점이 있었습니다. 예전에는 아래에 있는 그림처럼 3D cloud 와 함께 사진을 촬영한 지점/방향을 볼 수 있었는데, 지금은 그런 옵션이 사라졌네요. 이걸 볼 수 있으면 촬영상태를 개략적으로 볼 수 있었을텐데... 사실 PhotoSynth에 먼저 올려보려고 했던 이유가 그것 때문이었거든요.




====

앞으로 해야 할 작업은 이 사진들을 사용해서 정사사진을 제작하는 것입니다. 저는 일단 OpenDroneMap을 이용할 계획입니다.


그런데, 이 소프트웨어를 사용하려면 먼저 촬영된 사진마다 GPS좌표를 넣어줘야 하는 것 같습니다. 


작업 과정을 계속 올리겠습니다. 물론 다시 한 번 촬영나가서 여러가지 사진하고 동영상도 촬영해서 보여드리겠고요.


민, 푸른하늘



Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 3. 17. 15:08

이제까지 DJI F450 프레임에 Pixhawk 비행콘트롤러를 결합하면서 여러가지를 많이 정리했습니다. 정말 많이 복잡하네요. 그래서 여기저기 흩어져 있는 정보들을 총 정리하고자 합니다.


하지만, 제가 꼭 필요한 정도로 압축했기 때문에 이해하기 힘드실 수 있습니다.


또한, 제가 드론에 가장 관심을 갖는 부분은 항공사진 측량입니다. 항공사진측량의 경우엔 매뉴얼로 직접 조종하는 경우는 거의 없고, 대부분 자동 미션을 사용합니다.


따라서 이 글은 기본적으로 자동미션으로 사진촬영을 하는 것을 가정하여 정리하였습니다.


미리 사무실에서 준비해야 할 사항


- 드론 준비 : 

드론 LiPo 배터리 충전 - 3.0 - 3.7 - 4.2V

송신기 LiFe 배터리 충전 - 2.5 - 3.3 - 3.6V


- 카메라 준비 

- 카메라 배터리 충전. 

- CHDK가 잘 설치되어 있는지 확인(전원을 넣은 후, kap_uav.lua script 가 실행되어 "waiting on USB signal" 이 뜨는지 확인


- 촬영 테스트 

- Mission Planner에서 마우스 우클릭하여 "Trigger Camera Now" 로 작동여부 확인

- 조종기에서 CH7 키를 조작하여 촬영되는지 확인

- Mission Planner CAM_TRIG_DIST를 1로 설정하여 자동으로 촬영되는지 확인


- 미션 플래닝 : 

- 작업지역에 대한 촬영계획 수립

- Mission Planner를 통해 해당 미션을 Pixhawk에 올리기

- Tower를 통해 해당 미션을 다운로드 받아 확인해 봄.


비행전 준비


- 송신기 

- Throttle을 제일 밑으로, 안테나를 수직으로
- 송신기 배터리 체크
- 올바른 모델로 선택되어 있는지 확인
- Stabilize Mode 인지 확인


- 기체 

- 출발지점에 설치, GPS 안테나 세움

- 프롭 연결.


시동 및 점검


- 송신기 - 전원 넣음
- 기체 - LiPo 배터리 연결. 

- 잠시후 Pixhawk 기동소리 들림. 청/적 깜박임. 

- (시동전 점검이 시행됨) - 노란색이 깜빡이면 이상있음.
- Pixhawk - "도레미" 신호가 들리면 점검완료임.
- 안전스위치를 1초 이상 눌러주면 빨간색 깜박임이 고정됨


- 카메라 전원 넣기

    - 필요시 화면 저장앱 실행


- 안드로이드에 텔레메트리 연결. 

- OTG 선으로 연결

- 안테나 수직으로

- Tower 실행


- 지상국 

- 텔레메트리 신호 확인 (75% 이상)

- 수평이 잘 표시되는지, Pitch/Roll 값, Altitude 확인.

- GPS Fix까지 대기 - Pixhawk가 초록색으로 깜박임. 지상국(Tower)에서 연결된 GPS의 수 및 PDOP(2 이하)를 확인. 30초 정도 대기후 날릴 것.


날리기


- 송신기 Stabilize 모드인지 확인

- 송신기로 Arming (좌측 조종간을 우하측으로(Thruttle 하단, rudder 우측) 하여 잠시 대기)

- LED가 빨간색으로. 프롭이 돌아감

- 5초 이상 가만히 있으면 시동이 꺼짐.

- 비행 테스트 (이때 지상국으로 위치 및 현재 상태를 확인할 것

- Stablize 모드로 잠시 날려봄

- Loiter 모드로 전환후 잠시 날려봄

- Tower에서 임의의 점을 눌러 이동시켜봄.

- RTL을 실행시킴.

- Auto로 전환 하여 임무 수행

- 임무가 완료되면 RTL이 작동되어, 날린 지점 머리 위로 돌아옴.

- 그 상태에서 Land 수행



시동끄기


- 비행모드들 Stabilize로 
- 좌측 조종간을 좌하단(Throttle 최하단, rudder 최좌측으로) 2초정도 위치시키면 모터가 꺼짐
- Pixhawk의 LED가 초록색으로 점멸함
- 안전스위치를 눌러줌

LED가 점멸함

- LiPo 배터리를 분리
- 송신기 전원을 끔.


===


아주 복잡해 보이지만, 실제로 만져보면 그다지 어려울 건 없습니다. 


어쨌든 준비 완료! 이제 촬영나갑니다.


민, 푸른하늘



Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 1. 15. 13:01

이제 조립과 설정을 마쳤으니 본격적으로 날려볼 시간입니다. 그런데 요즘 날씨가 춥고 바람이 제법 불다 보니 비행이 약간 겁이 납니다.


그래서 먼저 실내에서 잘 작동하는지 먼저 테스트해보기로 했습니다. 일단 제일 중요한 사항은 Android에서 돌아가는 지상국(GCS: Ground Control Staion)인 Tower입니다. Tower를 사용하면 기체의 현재 위치를 추적하는 것은 물론, 여러가지 Waypoint를 입력/편집하여 자동임무를 수행할 수 있습니다.


그보다 먼저, 비행전 점검 사항 및 시동을 거는 방법입니다.

비행전 체크 및 순서


송신기 - Throttle을 제일 밑으로, 안테나를 수직으로

송신기 - 배터리 체크

송신기 - 올바른 모델로 선택되어 있는지 확인

송신기 - Stabilize Mode 인지 확인


기체 - 출발지점에 설치, GPS 안테나 세움

기체 - 프롭 연결.

송신기 - 전원 넣음

기체 - 배터리 연결. 잠시후 Pixhawk 기동소리 들림. 청/적 깜박임.

Pixhawk - "도레미" 신호가 들리면 점검완료임.

           안전스위치를 1초 이상 눌러주면 빨간색 깜박임이 고정됨


지상국 - 텔레메트리 연결

텔레메트리 - 안테나를 수직으로 

지상국 - 텔레메트리 신호 확인 (75% 이상)

지상국 - 수평이 잘 표시되는지, Pitch/Roll 값, Altitude 확인. 

GPS Fix까지 대기 - Pixhawk가 초록색으로 깜박임.


시동 걸기


Arming - Throttle Down, Ludder(Yaw) right 5초 정도 유지


비행시 고려사항

  • 비행전 GPS가 고정되는지 반드시 확인할 것. Stabilize 모드만 사용할 경우에라도 GPS 가 고정되면 만약의 사태가 발생해도 RTL 이 작동할 수 있음
  • Auto 모드로 멀리 보내기 전에 RTL이 잘 작동하는 지 미리 확인. GPS 및 전자나침반이 잘 작동하는지를 확인하기위한 목적도 있음
  • Loiter를 비롯해 여러가지 다른 모드로 사용하기 전에 미리 Stabilize 모드가 잘 되는지 확인할 것. Loiter 모드가 잘 되는지 확인하고 RTL을 시험하고, RTL을 시험한 뒤에 Auto 모드를 실행시킬 것. 즉, Stabilize - Loiter - RTL 순서로 잘 작동하는지 확인할 것.
  • Auto로 날리더라도, 반드시 Stabilize로 돌아갈 준비를 하고 있을 것. 소프트웨어나 센서에 문제가 생겼을 때 보호할 수 있는 모드는 Stabilze 모드 뿐이 없음. RTL이 가장 좋기는 하지만, Auto 모드가 고장났을 때 비상모드에서는 사용하면 안됨.
  • 배터리는 항상 확인할 것. 20% 이상 남았을 때 착륙시켜야 함.
====
아래는 제 사무실에서 모두 연결해본 모습입니다. Tower를 사용하면 기체의 현재 상태를 알 수 있어서 편합니다. 배터리 전압은 15.5V, 현재 Stabilize 모드, 텔레메트리 송수신 강도는 100%, Home 위치로부터의 거리는 5.0m, -0.8m 랍니다. GPS는 3D로 고정된 상태고 HDOP는 1.5, 9개의 위성을 받고 있네요. 실내인데 말이죠. 


아무튼... 이제 비행준비는 완료됐습니다. 다음번 나가게 되면 GPS Lock 상태로 (Loiter 모드로) 날리고... 간단하게 Waypoint 몇개만 입력해서 자동모드가 잘 되는지만 확인하면 될 것 같네요. 



민, 푸른하늘


Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2016. 1. 14. 00:33

기체를 조립하고 처음 날려보면, 생각대로 움직이지 않을 수 있습니다. 즉, 스틱을 조금만 조종해도 확확 움직일 수도 있고 반대로 너무 기동이 늦을 수도 있습니다.


또 스틱을 만지지 않았는데도 기체가 어느 한쪽으로 계속 이동하는 경우도 있습니다.


이때 해야 할 일이 튜닝입니다. APM:Copter에는 여러가지 튜닝방법이 있습니다. PID 제어를 잘 아는 경우에는 Advanced Tuning Guide를 참고하고, 경험이 많은 사람의 경우엔 Autotune 기능을 이용하라고 되어 있습니다. 저는 처음이니 그냥 Copter wiki의 Basic Tuning 에 있는 기본 튜닝을 사용했습니다. 


Roll and Pitch 튜닝


참고 : 기본 튜닝 방법은 다시 정리했습니다. 기본 튜닝은 문서가 일부 변경되었습니다. 여기를 참고하세요. 


여기에 있는 방법은 텔레메트리 라디오를 장착한 상태에서 현장에서 노트북으로 직접 수행하는 것이 제일 좋습니다. 하지만, 저는 노트북이 없어서... ㅠㅠ 그냥 어제 날려본 느낌대로 설정을 바꾸고자 합니다. 안되면 나중에 새로 조종하면 되니까요. 일단 튜닝이 필요한 경우는 다음과 같습니다.

  • Roll 및 Pitch 스틱에 기체가 어떻게 반응하는가? 너무 빠른가 아니면 아니면 반응이 너무 느린가?
  • 어느 정도의 Throttle에서 기체가 Hovering 하는가? 중립위치 부근인가? 아니면 위인가 아래인가?
  • Throttle을 올릴 때 기체가 올라가는 속도가 빠른가? 느린가? 

기본 튜닝을 하려면 먼저 Mission Planner와 기체를 연결해야 합니다. 송신기-기체를 켜고, Mission Planner에서 Connect를 눌러줍니다. 다음으로 CONFIG/TUNING 탭을 누르고 Basic Tuning을 선택합니다.


그런데... Wiki 에 있는 내용과 Mission Planner 화면이 다르네요... 그래서 Wiki 내용은 무시하고 화면 내용을 보면서 설정해보겠습니다.



첫번째 단계에서 저는 약간 반응을 느리게 하고 싶어서 50을 45 정도로 내렸습니다.
두번째 단계에서도 약간 빠르게 반응하는 듯 하여 좌측으로 약간 옮겨줬습니다. 0.15 -> 0.135

세번째 Throttle Hover에서는 스틱이 중앙 아래쪽에서 Hovering 하였으므로, 이것도 좌측으로 (500->450) 약간 옮겼습니다.




이 방식은 그냥 감으로 하는 것이니... 여러 번 날려보면서 조금씩 수정해도 될 것 같습니다.


Throttle 중앙점 잡기(Setting Throttle Mid)

참고 : Throttle 중앙점 잡기는 새로 정리했습니다. 특히 Hover Throttle 자동학습 방법이 추가됨으로써, 이 과정은 별로 필요가 없다고 합니다. 여기를 읽어보세요.


위에 있는 방법으로는 대충 추정 또는 느낌으로 조정하는 것이고, 좀 더 확실하게 조정하는 방법도 있습니다. 그중에서도 /wiki/ac_throttlemid/은 Throttle의 중앙점을 조정하는 방법입니다. 


기체에 비해 추력이 크거나 작으면 Throttle 이 40% 이하 또는 60% 이상에서 기체가 hovering 할 수 있습니다. Stabilize 모드에서만 비행할 경우에는 문제가 없지만, 자동주행모드(Loiter, AltHold 등)으로 바꾸게 되면 기체를 내리거나 올리라는 명령으로 인식되어서 기체가 갑자기 요동을 치게 됩니다. 따라서 Throttle Mid 파라미터(THR_MID)는 stabilize 모드에서 50% 정도가 되도록 설정해두는 것이 좋습니다.


다음은 수행방법입니다.

  • Stabilize 모드에서 최소 30초 이상 기체를 안정적으로 Hovering 시킵니다.
  • 배터리를 빼고, Pixhawk를 Mission Planner에 연결합니다.
  • FLIGHT DAT 화면의 DataFlash logs 탭에서 DataFlash Log 파일을 내려 받습니다. 내려받는 방법은 여기에 있는 방법을 따라도 되고, 그냥 Pixhawk에 들어 있는 Micro SD 카드에서 직접 복사해도 됩니다.
  • 다운로드가 완료되면 "Review a log" 버튼을 누르고 최신 파일을 선택합니다.

  • CTUN 메시지를 찾아 오른쪽으로 가면 ThrOut 이라는 항목이 있습니다. 여기에서 마우스 오른쪽 버튼을 누르고 "Graph this data Left" 을 누르면 아래와 같은 그래프를 볼 수 있습니다.


  • 그래프 왼쪽 축에 써있는 숫자를 토대로 평균적인 Throttle 값이 얼마인지 알아봅니다. 제 그래프에서는 약 350 정도 나오는 것 같습니다.
    • 참고로 throttle값이 300이하이거나 700 이상이면 아주 심한 overpower 혹은 underpower 상태입니다. 적절한 조치를 해주셔야 합니다. 제 쿼드콥터도 350이니... Power가 약간 과한 상태인 것 같습니다. 아마 카메라를 달면 적절해지지 않을까 싶습니다.
  • 아래 그림과 같이 Mission Planner에서 Configuation -> Standard parameters 로 들어가서 THR_MID 값을 위에서 추정된 값으로 변경해 주고, 위에 있는 Write Params 버튼을 눌러주면 됩니다.



Auto Trim


참고 : Save Trim 및 Auto Trim 문서를 새로 정리했습니다. 이 내용과 동일하므로 따로 보실 필요는 없습니다만, 여기를 참고하세요.

마지막으로 해봐야 할 것은 Auto Trim 입니다. 기체를 잘 조립해도 스틱을 가만 두었을 때 일정한 방향으로 흐를 수 있습니다. 이때 가장 쉽게는 조종기에 있는 Trim 기능을 이용하면 이러한 상태를 바로 잡을 수 있습니다. 하지만, Pixhawk의 경우에는 이런 방법을 추천하지 않습니다. 비행콘트롤러에서 모터의 출력을 제어하여 조종기의 Trim을 사용하지 않도록 설정하는 것을 추천합니다.


wiki/autotrim/ 에는 이렇게 하는 방법으로 Save Trim 과 Auto Trim 두 가지 방법을 제시하고 있습니다. Save Trim은 기체를 날리면서 한자리에 머물도록 Trim을 넣어준 뒤, 이것을 저장하는 방법인데, Auto Trim이 더 간단하기 때문에 이 방법만 정리합니다.

  1. 바람이 없는 넓은 장소를 찾습니다.
  2. Throttle 을 아래로 한 상태에서 Rudder(Yaw)를 우측으로 15초 이상 밀어줍니다. (5초 정도 밀어주면 시동이 걸림. 계속 밀어주면 작은 LED가 빨/노/파로 돌아감. 이제 Auto Trim 준비 완료)
  3. 기체를 띄우고 25초 이상 안정적으로 Hovering 시킵니다.
  4. 기체를 착륙시키고 몇초정도 기다립니다.(trim 값이 EEPROM에 저장됩니다.)
  5. 이제 정상적으로 띄워서 조정이 바로 됐는지 확인합니다. 안됐으면 2-4를 다시 반복해줍니다.
머... 이 정도 하면 왠만큼 날리는 데는 문제가 없습니다.
====
아래는 제가 AutoTrim을 하면서 촬영한 동영상입니다. 원래 바람이 안불고 좀 넓직한 곳에서 날려야 하지만, 겨울이라 바람도 불고 실내체육관 같은 곳은 아는 곳이 없다보니 지하주차장에서 날렸습니다. 그때문에 천장이 낮아서 아주 극도로 조심해야 했습니다. 

그리고 동영상은 그냥 멀찌감치 떨어져서 기체만 촬영했기 때문에 뭘하는지 알기가 어렵습니다. 그래서 군데 군데 알기 쉽도록 자막을 넣어두었습니다. 참고하세요~


민, 푸른하늘


추가 : 기본튜닝중 진동측정에 관한 내용은 여기를 참고하세요.

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 12. 25. 17:23

부품을 조립한 후 하드웨어 설정까지 마쳤으면 이제 기체를 날릴 수 있습니다. 


기체를 날리는 절차는 시동 걸기와 끄기 그리고 이륙 - 초심자를 위한 팁에 기술되어 있습니다. 


먼저 기체는 가급적 넓고 사람이 없는 곳에서 날리는 것이 좋습니다. 특히 맨 처음 날릴 때는 자칫 의도되지 않은 문제가 발생할 수 있으므로, 조종자도 가급적 멀리 떨어지는 게 좋습니다.


시동걸기


  1. 조종기의 전원을 넣는다.
  2. 기체의 LiPo 배터리를 연결한다. 자이로가 초기화되면서 적색/청색 불이 깜박입니다. 이때 기체를 움직이면 안됩니다.
  3. Pixhawk가 시동전 점검을 실시합니다. 문제가 발생할 경우 LED가 노란색으로 점멸하게 됩니다. 이때는 GCS를 연결하여 점검해야 합니다.
  4. 비행모드는 Stabilize/Acro/AltHold/Loiter로 설정되어 있어야 합니다. 다른 모드에서는 시동이 걸리지 않습니다.
  5. Pixhawk의 안전 스위치를 1초 정도 눌러주면 빨간색이 고정됩니다.
  6. GPS와 관련있는 조종(Loiter, RTL, Auto 등)을 사용하려면 GPS를 고정(LED가 초록색으로 깜박임??)시키고 나서, 30초 정도 후에 시동을 걸어야 합니다. GPS 위치를 안정화시키기 위한 목적입니다. 
  7. throttle 최하단, rudder 최우측으로 한 후, 5초정도 지나면 시동(Arming)이 걸립니다. (이 시간동안 자이로와 기압계를 재초기화시킵니다.) 참고로 15초 이상 스틱을 이 상태로 고정하고 있으면 Auto Trim 모드로 들어가게 되므로 주의하세요.
  8. 시동이 걸리면 LED가 빨강색으로 깜박이고 프롭이 돌아갑니다. 시동이 걸리지 않을 경우 시동전 점검에서 문제가 발생한 것이므로, 먼저 조치를 취한 후 다시 시도해야 합니다.
  9. 이제 Throttle을 올리면 기체를 이륙시킬 수 있습니다. 
아래는 제가 시동을 거는 과정을 촬영한 것입니다.


그리고 아래는 Tower까지 연결한 모습입니다. 송신기로도 제어가 되고, Tower로도 조종이 되니 편할 것 같습니다.


아래는 Tower만 확대한 것입니다. 케이블이 좀 이상한데... 3DR radio 구입할 때 딸려온 OTG 케이블이 못쓰는 것이라, OTG 케이블 제작하기를 참고해서 만들었습니다.



시동끄기


  1. 비행모드가 Stabilize/Acro/AltHold/Loiter 중 하나로 설정되어 있어야 합니다.
  2. Throttle 최하단, rudder 최좌측으로 2초정도 위치시키면 모터가 꺼집니다.
  3. Pixhawk의 LED가 초록색으로 점멸합니다.
  4. 안전스위치를 눌러주면 LED가 점멸합니다. 
  5. LiPo 배터리를 분리합니다.
  6. 송신기를 끕니다.


Tips for new Pilots


원본 : http://copter.ardupilot.com/wiki/ac_tipsfornewpilots/


처음 시동시 테스트


  1. 우선은 Throttle을 천천히 밀어올려서 살짝만 띄웁니다.
  2. 만약 이 상태에서 기체가 흔들린다던지 이상 징후가 발생되면 즉시 착륙시킵니다. 기체를 손으로 단단히 잡고(프롭에 닿지 않도록 유지하면서) Throttle을 천천히 밀어보면서 기체가 어떻게 반응하는지 살피고, 우측 스틱을 전후좌우로 움직이면 기체가 그 방향으로 기울어지는지 확인해 봅니다. 만약 다른 방향으로 움직인다면 모터를 잘못 결합했거나, 프롭 방향이 바뀌는 등의 문제가 있으니 확인합니다. (모터 및 ESC 테스트 확인)
  3. Pitch와 Roll이 반대로 움직일 때는 RC 송신기에서 해당 채널을 Reverse 시켜줍니다. 
  4. 약간 띄우면 Yaw가 약간 돌아가는데 30도 이상 돌아가면 안됩니다. 좀 더 날리면 스스로 방향을 잡습니다. (기체가 기우뚱 거리면 안됩니다. 만약 그렇다면 프롭이나 모터에 이상이 있다는 것입니다.)
  5. 이륙시키면 (바람이 없다면) 제자리에 그냥 떠 있어야 합니다. 전후좌우로 흐름이 있더라도 Trim으로 조종하지 마십시오. 평평하지 않은 곳에서 이륙시키면 이런 현상이 발생하고, 프레임이 잘못되었을 (모터 하나만 기울어짐) 가능성이 있습니다.
  6. 그래도 문제가 있다면 troubleshooting guide를 읽어보시기 바랍니다. 
  7. 이 정도가 문제가 없다면 이제 Loiter, AltHold 등을 사용할 수 있습니다.

첫 비행을 위한 조언


  • 바람이 없는 환경에서 날릴 것. (바람이 있으면 Auto Trim이 불가능함)
  • 수신기에 있는 Trim은 사용하지 말것
  • 1 미터 정도만 띄우면 Ground Effect는 없다고 봐도 됨.
  • Auto Trim을 시도하기 전에 미리 충분히 연습해서 송신기 스틱만으로 기체를 한 지점에 고정시킬 수 있는 위치를 찾아둘 것.
  • Simple모드로 시작하지 말고 Stabilize 모드로 시작할 것.
  • Home 위치(RTL에서 돌아오는 위치)는 처음 시동을 거는 지점임. 

====

이상입니다. 일단 이정도 상태에서 날려봤는데... 혼자 시험비행 하다보니 사진도 못찍고, 바람도 약간 있어서 Auto Trim은 해보지 못했습니다. 다음에 기회가 되면 새로 올려야 할 듯 싶네요.


민, 푸른하늘

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 12. 24. 13:43

하드웨어 조립이 완료되었으니, 이제 하드웨어 설정 과정에 들어갑니다. 


사실 이 과정이 훨씬 복잡하고, 훨씬 중요합니다. 쿼드콥터를 단순하게 날리는 게 아니라, 세부적인 기능을 검토하고, 성능을 최적화하는 단계이기 때문입니다.


Pixhawk 비행콘트롤러를 설정하기 위한 가장 첫 단계는 Mission Planner의 설치입니다. 여기 들어가면 설치할 수 있습니다. Mission Planner는 OSX도 지원하는 것 같은데, Windows 환경에서 사용하는 게 제일 좋습니다. 여기 들어가면 다른 지상국(GCS : Ground Control Stations)을 볼 수 있습니다.


아래는 Mission Planner를 실행시킨 모습입니다.



제일 먼저 할 일은 Firmware를 설치하는 일입니다. 설치하는 과정은 제가 예전에 작성해둔 Pixhawk에 Firmware 설치하기를 읽어보시면 됩니다. 저는 이미 설치된 상태이기 때문에 상태를 확인하기 위해 "CONNECT"를 누르자 새로운 버전이 나왔으니 업그레이드 시키라는 메시지가 떴습니다. 업그레이드 시키는 것도 설치하는 것과 동일합니다. 


아래는 연결 후 기체를 약간 기울여본 모습입니다. HUD 화면이 기울어진 걸 보면 설치가 잘 된 걸 확인할 수 있습니다.



====

펌웨어가 설치되었으니 이제부터 본격적인 설정 작업에 들어갑니다. 하지만, 그전에 3DR Radio 부터 연결하는 게 좋습니다. 설정 작업을 하게 되면 기체를 이리 저리 옮길 필요가 있는데, USB 케이블을 연결한 상태로 하면 아무래도 귀찮기 때문입니다.


3DR Radio Telemetry는 USB에 연결하면 Driver가 자동적으로 설치됩니다. 설치가 완료된 후에는 여기를 참고하여 접속하면 됩니다. 간단히 말해서 장치관리자에 새로 추가된 COM 포트를 선택하고, baud rate를 57600 으로 설정하면 됩니다.



또, 설정에 들어가기 전에 송수신기를 서로 연결하고 모드를 설정해 두어야 합니다. 저의 경우엔 Futaba SG14 송신기가 있어서 수신기만 구매했기 때문에 이 과정이 필요합니다. 제가 사용한 방법은 제가 예전에 써둔 글을 참고하시면 되지만, 이는 송수신기의 종류에 따라 완전히 다릅니다.


이제 준비는 끝났으므로, Mission Planner에서 Initial Setup -> Wizard를 누르고 시키는 대로 따라하면 됩니다. 자세한 내용은 3DR Quad Kit 캘리브레이션을 참고하세요. 기체는 다르지만, Flight Controller가 동일하기 때문에 설정은 동일합니다.


3DR Quad Kit 캘리브레이션 글에서도 언급했지만, 이런 설정과정이 상당히 까다롭습니다. 왜 많은 사람들이 DJI를 사용하는지 알것 같다는 느낌. 한마디로 DJI의 경우 모든 부품을 자체 공급하기 때문에 대부분의 설정값이 정해져 있으므로 따로 설정을 할 필요가 없음에 비해, 오픈소스인 Pixhawk 는 다양한 기기와 결합 할 수 있기 때문에 세부적인 것 까지 콘트롤해야 합니다.


그중에서도 약간 까다로웠던 부분을 꼽자면 아래와 같습니다.

  • 전자나침반 교정부분 : Mission Planner에서 설명된 부분과 Wiki에 작성된 내용이 약간 다르기도 하거니와, 어느 쪽으로 회전시키는 게 맞는지 약간 혼란스러웠습니다.
  • 송수신기 설정/비행모드 설정 : 저는 Futaba를 사용해서 그런지 여러가지 설정이 많이 필요 했습니다. 비행모드 설정에서 6가지 옵션을 가지도록 하는 부분을 여러 번 반복했던 기억이 납니다.
  • ESC 교정 : ESC 교정에 관한 내용은 총 3가지 버전이 있었습니다. Mission Planner에서 수행하는 방법, Wiki에 있는 내용, 그리고 Skywalker 4 in 1 ESC에 나와 있는 내용 등입니다. 그래서 이것도 해보고 저것도 해보고 하면서 시행착오를 많이 겪었습니다. 
이 중에서 제일 저를 괴롭혔던 것이 ESC 교정 이었습니다. 사실 ESC 문제가 아니었을 가능성이 높지만, ESC 교정이 안된 것 같아서 여러가지 방법으로 ESC 교정을 시도해봤기 때문에 고민도 많이 했고, 시간이 많이 걸렸습니다.


문제의 시작은... 시동을 걸고 약간... 아주 약간 기체를 띄우면 기체가 좌전방으로 조금씩 나가는 현상 때문이었습니다. (이를 상쇄하고자 pitch를 약간 땡겼더니 더 멀어지는 현상도 있었지만, 그 채널을 Reverse로 변경하여 해결. 원래 이렇게 설정하라고 되어 있는 걸 이번에야 발견. ㅠㅠ) Stabilize 모드에서 기체를 띄우면 거의 제자리에 있어야 하는데 자꾸만 밀리니까 모터가 고장인가 싶어서 대각선 방향으로 모터 까지 바꿔 끼워봤지만 동일한 결과가 발생했습니다. 결국 모터는 이상이 없다는 것이죠.


그래서 ESC 교정에 더 집중했지만, 여전히 좌측 앞쪽으로 조금씩 나가는 현상 발생. 그래서 마지막이라는 심정으로!!! 신정교 아래 넓은 곳에 나가서 테스트 해봤더니 이런 현상이 있기는 해도 그다지 크지 않다는 걸 확인하고 종료했습니다.


사실 어차피 ESC 교정이라는 것이 "Throttle 채널의 PWM값의 최대/최소 범위를 알려주는 것"이라고 할 수 있습니다. 따라서 구지 Mission Planner나 Pixhawk를 거쳐야 할 필요가 없는 것이죠. 그래서 최종적으로 4 in 1 ESC에 있는 "Throttle range setting" 방법을 사용했습니다. 방법은 아래와 같습니다.


배터리 -> ESC -> throttle hub -> receiver 순서로 연결을 했고, Pixhawk 전원은 아얘 차단시켜 뒀습니다. 삑삑 소리가 많이 나서 구분하기 힘들었거든요. 그리고 ESC에서 음악소리가 나는 옵션도 꺼버렸구요. receiver의 전원은 당연히 throttle hub를 통해 공급하는 겁니다. 


연결후 송신기의 전원을 넣고 throttle 을 최대로. 그다음 ESC에 배터리 연결. 2초후 삐삐 (최대치를 감지했다는 뜻). 송신기 throttle을 최하단으로. 삐소리 4번(4S을 사용중). 삐~~ 길게(최소치를 감지 완료) 


이 상태에서 throttle을 올려보면 모터가 바로 움직입니다. 모터 동작 확인 후 전원을 분리해주면 ESC 교정이 끝난 것입니다. 자세한 내용은 원본 PDF 파일을 참고하세요.


아무튼... 이렇게 해서 한 2-3일동안 고민했던 문제는 해결했습니다. 역시나 험난하네요.


민, 푸른하늘








Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 11. 5. 11:00

Pixhawk 비행콘트롤러를 프레임에 조립한 후 가장 먼저 해야 할 일이 펌웨어(Frimware)를 설치하는 일입니다. 


사실 프레임을 조립하지 않고 바로 펌웨어부터 설치할 수도 있습니다. Pixhawk의 경우 USB에서도 전원을 받아서 USB에 연결하자마자 부팅?하기 때문입니다. 제가 이번에 Pixhawk만 먼저 구입한 것도 조립하지 않고도 테스트할 수 있을 것 같았기 때문입니다. (아마도 잘 안될 것 같습니다.... ㅠㅠ)


우선 아래는 Pixhawk 관련 부품을 연결하고 PC에 연결한 모습입니다. 연결하면 자동적으로 드라이버가 설치됩니다. 보시는 것처럼 여러가지 불이 들어와 있습니다. "Safety Switch Button"에도 빨간색 불이 깜박이고 있습니다. 여기를 보면 시스템 체크중이라는 뜻이랍니다. 



다음으로 Mission Planner를 실행합니다. 설치하지 않았다면 여기에서 다운로드 받으면 됩니다. Mission Planner를 실행시킨 뒤 먼저 Pixhawk와 연결합니다. Mission Planner와 Pixhawk 드라이버가 정상적으로 설치된 상태라면 아래 그림과 같이 PX4 FUM 라고 되어 있는 COM 포트가 나올텐데 이걸로 지정하면 됩니다. (COM 뒤에 붙어있는 번호는 PC마다 다를 수 있습니다.) 맨오른쪽 위에 있는 CONNECT는 아직 누르면 안되고요.



다음으로 어떤 Firmware를 설치할 지 선택해야 합니다. 아래처럼 APM:Copter Quad를 선택하면 됩니다. 물론 기체의 종류에 따라 다르겠죠.



확실히 이것이 맞는지 확인하는 창이 뜨고 잠시 기다리면 메인화면 아래로 여러가지 문장들이 나타나고 아래와 같은 창이 뜹니다. 그러면 USB 코드를 뽑고 OK버튼을 누른 뒤 잠시 후 다시 연결해주면 됩니다. 30초 이내면 됩니다.



그러면 잠시 후 아래와 같이 erase.... Program.... verify... Upload Done 등의 문장이 나타나고 초록색 막대가 늘어나면서 펌웨어가 설치됩니다. 



마지막으로 완료되면 아래와 같은 창이 뜨면서 음악소리가 들립니다. 이 소리가 끝나면 OK를 눌러주면 됩니다. 혹시 에러가 발생하면 제가 예전에 써둔 글을 참고하세요.



다음으로 AC3.1 부터는 시동준비(Arming)을 하면 모터가 돌아간다고 주의하라는 메시지가 뜹니다. MOT_SPIN_ARMED 파라미터로 변경할 수 있다고 하고요.



이 과정이 완료되면 Mission Planner에서 Fight Data 화면으로 바꿔준 후, 오른쪽 위에 있는 CONNECT 버튼을 누르고... (다이얼로그가 나타납니다.) 잠시 기다리면 화면에 여러가지 내용이 표시됩니다. 좌측 위에 있는 화면이 HUD (Head Up Display) 화면으로... 비행기 조종하는 화면과 비슷합니다. 



여기에서 Pixhawk를 이리저리 돌려보면 지평선의 기울기가 달라지게 됩니다. 이렇게 되면 Firmware 가 정상적으로 설치된 것입니다.


이상입니다.

민, 푸른하늘


Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 10. 13. 23:21

이 문서는 3DR에서 생산 판매하고 있는 All Inclusive Kit(완전 조립키트)인 3DR DIY Quad Kit을 조립한 후, 소프트웨어로 여러가지 설정 및 조정하는 방법을 간략하게 정리한 문서입니다. 좀 더 정확하게 말하면 DIY Quad Kit의 비행콘트롤러인 Pixhawk에 대한 캘리브레이션 방법을 정리한 것입니다.


문서의 원본은 http://3drobotics.com/kb/calibration/ 입니다. 참고로 이 문서와 함께 APM:Copter에 있는 필수 하드웨어 설정(Mandatory Hardware Configuration) 문서도 함께 보는 것이 좋습니다.


소프트웨어 다운로드


설치마법사(Wizard) 실행

  • Mission Planner를 실행하고 Pixhawk를 USB 케이블로 연결
  • 쿼드콥터의 배터리 연결. (단 프로펠러는 반드시 빼둘것)
  • Initial Setup -> Wizard  선택.


1. 펌웨어 설치

  • 콘트롤러 연결 
    • Mission Planner 설치. Usb로 연결. 드라이버가 설치됨 
  • Mission Planner에 연결 
    • Mission Planner 실행. 
    • COM port를 Auto 또는 PX4FMU로 선택 
    • Baud rate를 115200으로 
    • *** CONNECT는 하지말 것 
  • FIrmware 설치
    • Setup->Install Firmware 
    • ArduCopter Quad를 선택 

    • Mission Planner가 보드를 확인함. 
    • 보드를 뺏다가 다시 꼽고 OK를 누름. 
    • 상태표시줄에 erase-program 등이 나타남. 
    • 마지막으로 Upload Done 이 나오면 완료 
  • 설치 완료후 음악 소리가 들려야 함. 아니면 아래와 같은 절차를 수행해야 함.
  • 시험 
    • Mission Planner에서 “Flight Data” 화면으로 전환
    • Connect 를 눌러서 연결 
    • 이 상태에서 보드를 기울이면 HUD가 기울어져야 함.
  • 그런데, Firmware 업로딩 중 USB를 뺏다가 다시 끼우는 과정에서 아래 사진처럼 아래쪽에는 "Error no response received from board"라는 메시지가 표시되고, Error uploading Firmware 메시지가 떴음.


그래서 한참 구글링을 해봤더니, 여러가지 방법이 제시되어 있네요. 여기를 확인해 보세요.

  • Pixhawk에 Micro SD카드가 잘 꽂혀져 있는지 확인하고 다시 실행.
  • LiPo off USB off --- click OK --- USB on, LiPo on
  • USB를 빼는 대신 FMU의 reset button(Pixhawk의 USB 포트 바로 옆에 있는 리셋버튼)을 눌러라.
  • GPS를 빼두고 시도하라.
  • USB 케이블을 다른 걸로 바꿔보라.
그중에서 저는 세번째 방법을 사용해서 성공했습니다. Pixhawk가 오픈하드웨어이다보니, 아무래도 사용자 지원쪽은 조금 허술한 면이 있는 것 같습니다.


====

그 다음부터는 Wizard를 실행하면서 지시하는대로 수행만 해주면 됩니다. 그런데, 한번에 잘 되지 않아서 여러번 수행했었습니다. 필요에 따라서는 그냥 Initial Setup -> Mandatory Hardware에 들어가서 각 부분을 따로따로 수행해도 무방합니다.


그리고... 그냥 Wizard를 따라가려면 USB 케이블을 꽂아서 수행해야 하는데, 그러면 선이 걸리적거려서 몹시 불편합니다. 따라서 먼저 텔레메트리(3DR Radio)를 연결한 뒤, 다른 설정 과정을 계속하는 것이 편합니다. 3DR Radio를 설정하는 방법은 여기를 참고하시면 됩니다. 간단히 요약하면 다음과 같습니다.

  • 3DR Radio 리시버중 아무거나 Pixhawk의 Telem1 에 연결
  • 다른 하나를 Windows PC에 USB 케이블로 연결. 드라이버가 설치되고, 새로운 USB Serial Port가 생김. (장치관리자의 포트에서 확인가능)
  • 적절한 COM 포트를 선택한 후, Baud rate를 57600으로 설정(USB의 경우 115200)
  • 마지막으로 CONNECT 버튼을 눌러줌.
  • CONNECT 버튼이 초록색으로 바뀌고 DISCONNECT로 바뀜
  • 이 상태에서 기체를 기울이면 Flight Data 스크린에서 기울어지는 게 보이면 정상임.


  • 문제해결
    • 연결이 안될 경우, 먼저 baud rate 확인 
    • Window Device Manager 리스트에서 해당 COM 포트가 존재하는지 확인 
    • USB 포트를 사용하고 있다면, 다른 포트로 바꾸어볼 것.
    • LEDSound 도 확인할 것

Pixhawk를 사용하실 예정이라면 반드시 3DR Radio는 구입하는 것이 좋습니다. 가격에 비해 너무 좋은 기능이 많기 때문입니다. 제 생각엔 아얘 픽스호크 패키지에 묶어서 파는 게 낫지 않을까... 싶더군요. ㅎ


3. 가속도계 조정(Calibrate accelerometer)

  • http://copter.ardupilot.com/wiki/common-accelerometer-calibration/
  • 화면에 나오는 지시에 따라서 쿼드콥터의 자세를 잡아줌
  • 기본적으로 아래처럼 6가지 위치에 순차적으로 맞춰줘야 함. 이때 각각의 위치에서 몇초 정도 멈췄다가 다음 위치로 이동함. 절대로 움직이면 안됨.


  • 도중에 "Click When Done" 버튼을 누를 필요 없음. 계속하면 Successful이 뜸.

4. 전자나침반 조정(Calibrate Compass)

  • 60초 이내에 모든 축방향으로 회전시켜야 한다는 메시지가 뜸. -> OK 를 누름
  • 60초 내에 천천히, 6개의 면(전/후/좌/우/상/하)를 각각 몇초 정도씩 땅바닥을 가르키도록 해줌. 비디오에서는 자북방향을 가르키도록 나옴(inclination 도 고려) 


  • 다 끝나면 새로 계산된 offset이 나타남.
  • 이 값이 -150 이하이거나 150 이상일 경우 문제 있음. OK를 누름.

참고 : 콥터 3.2.1 이후 버전에서 허용되는 범위

총 거리(offset_x^2+offset_y^2+offset_Z^2)가 600 이하일 때. 3.2.1 이전에는 각각의 offset의 절대값이 150 이하일 것을 추천하였다.



compass 캘리브레이션이 상당히 까다롭습니다. 제가 했을 때는 정확히 기억나지는 않지만, 하얀점이 6개 나오고... 멀티콥터를 회전시키면서 이 점들을 모두 지나도록 하면 캘리브레이션이 완료되는 걸로... 하지만, 그걸 맞추기가 쉽지 않았던 걸로 기억합니다.

추가 : Pixhawk 화살표 방향을 북쪽으로 맞춘 후 Pitch 방향(좌우방향)으로 360도를 돌려준다. 좌향좌 혹은 우향우. 그 상태에서 Roll 방향으로(앞뒤방향) 360도 돌려주면 됨. 그래도 안되면 다시 위에 있는 그림처렴 6개의 방향을 맞춰줌.

5. 배터리 모니터

  • 3DR Power Model을 선택.
  • 파워모듈을 사용하여 배터리를 모니터링 할 수 있는 옵션 2개를 활성화.
  • 배터리 Voltage 캘리브레이션
    • 먼저 테스터를 사용하여 배터리의 전압 측정 
    • 콥터와 배터리를 연결
    • Initial Setup -> Optional Hardware -> Battery Monitor로 들어감
    • 현재 배터리값을 확인해봄. 다르다면 Sensor 를 0:Other로 바꾼 뒤, Measured battery voltage field에 측정했던 값으로 입력함. 
    • mission planner가 "Voltage divider"를 계산하여 저장하게 됨.
    • Flght Monitor 스크린의 HUD에 그 전압값이 나타남. 또한 Status tab의 "battery_voltage"에도 저장됨
  • 배터리 전류 캘리브레이션
    • 적절한 장비가 없어서 생략함. 
    • 배터리 ->(Turnigy 180A Power analyzer) -> 기체로 연결
    • Mission Planner -> Status Tab -> current를 확인 
    • 3A 이하에선 정확하지 않으므로, 10A 정도까지 올라가도록 Throttle을 올려줌.
    • 단, 이전에 프롭을 모두 뒤집어서 Throttle을 올리면 눌리도록 함.
    • 10A 까지 올려주고, Mission Planner를 보면 일치하지 않음
    • Amperes per volt 값을 적절히 조절해주면서  trial and error로 값이 일치해도록 해줌.
  • 자세한 내용은 battery monitoring setup 유튜브를 확인 

6. Sonar 설정

  • Sonar 가 없으므로 통과

7. 송수신기(Futaba 14SG) 조정

  • *** 참고 : pixhawk용 RC Transmitter : copter.ardupilot.com/wiki/ 참조. FRSKY Taranis를 제일 추천
  • 먼저 송신기와 수신기를 binding 해야함. Binding이란 송신기(조종기)와 수신기를 연결하는 것. 즉, 송신기에서 보내는 신호를 수신기가 받도록 인식하는 것
    • 구매를 했을 때에는 바인딩이 되어 있음. 새로운 Model을 생성시 새로 바인딩 필요
      • 수신기가 50cm 이내에 있는 상태에서 송신기 전원을 넣는다.
      • LNK를 두번 클릭하여 Linkage 메뉴로 들어감. System을 선택하고 RTN을 클릭함
      • LINK로 옮겨간후 RTN을 클릭함. LINK 모드로 들어가면서 삐리릭 소리가 들림.
      • 즉시 수신기의 전원을 넣음.
      • 잠시 기다리면 수신기 LED가 빨간색 깜빡임 상태에서 녹색으로 전환됨. 바인딩이 완료된 것임. 다시 System에 들어가보면 아래와 같이 id 가 표시됨.

  • CH Mode를 필요에 따라 지정. 나는 모드 B로 사용중. 
    • 한글 매뉴얼 27쪽 참조. 

====
  • http://copter.ardupilot.com/wiki/radio-control-calibration/
  • 송신기 전원을 켬. 먼저 Airplane 모드로 두고, 모든 trim 은 center로 조정
  • 송신기에 있는 3 position switch 에 채널 5를 할당하고 여기에 비행모드를 설정해야 함
  • 옵션 : 송신기에 있는 tuning knob에 채널 6를 할당하고 inflight tuning 을...
  • 채널 7과 채널 8에는 보조기능을 설정 할 수 있음
  • Futaba 14SG의 채널 
    • 이중에서 1-6번 채널은 Pixhawk에서 사용. 7-8 채널에 대해서는 별도의 기능을 부여할 수 있음
    • 9-14번 채널에 대해서는 Pixhawk의 Aux Out 채널에 Servo를 부착하여 작동시킬 수 있을 것 같음.

채널 

 Futaba 내부

멀티콥터 기능(스위치) 

 1

 AiL

 Roll 

 2

 Ele 

 Pitch 

 3

 THR

 Thruttle 

 4

 RUD

 YAW 

 5

 MOD

 SE (비행모드 선택)

 6

 TILT 

 Right Slider 

 7

 PAN

 Left Slider 

 8

 REL

 SH 

 9-

 AUX1 - AUX4

 


====
  • Mission Planner 송수신기 캘리브레이션 화면에서 오른쪽 아래에 있는 "Calibrate Radio"를 누름
  • 송신기 on/배터리 off/프로펠러 off 해야 한다는 다이얼로그 -> OK를 누름

  • 송신기의 모든 스틱과 스위치를 맨 아래에서 맨 위까지 움직여줌. 최대 최소 위치에 빨간선이 표시됨.
  • 채널 1에는 roll, 채널 2에는 pitch, 채널 3에는 throttle, 채널 4에는 yaw가 할당되었는지 확인. 이때, 왼쪽 및 아래쪽이 낮은 값이 되어야 함. (주의 : PITCH의 경우엔 반대임. 즉 작은 값이 Forward, 큰 값이 Backward임)
    • 만약 반대로 움직일 경우, 수신기에서 REVERSE 세팅

  • 모두 값이 설정되면 Click when done을 눌러줌. 요약 창이 나타남. 값은 1100 ~1900 정도가 되면 됨. 

 

8. 비행 모드 선택

  • 설정순서 
    • RC 전원 On,  Mission Planner와 Pixhawk 연결 
    • Mandatory H/W -> Flight Mode 드롭다운으로 설정 
      • 반드시 하나는 Stabilize로 두어야 함.
    • 완료후 “Save Mode” 를 눌러줌
  • Flight mode채널 설정 
    • 항상 채널5 이어야 함 
  • 송신기 설정 
    • 송신기에서 적절한 범위의 PWM 신호를 보내야 함. 
      • 3개의 모드만 설정시에는 
        • 1165, 1425, 1815로 설정 
      • 6개 모드 사용시에는 
        • 1165, 1295, 1425, 1555, 1685, 1815 로 설정
        • 2 position + 3 position 스위치 두개를 결합하여 설정해야 함. 
        • 6 모드 설정 방법 : (SE 스위치와 SF 스위치를 사용)
          • SF(PAN) 채널을 SE 채널과 연동 시킴
            • MDL -> PROG. MIX -> 1로 들어감
            • x와 y 를 각각 +25로 올려줌
            • 다음 페이지에서 아래와 같이 설정
              • SF 는 직접나오지 않고 H/W 를 선택한 후 SF를 선택해야 함
    • 각 모드별로 비행모드를 설정하는 것은 아래 그림에서 드롭다운으로 선택만 해주면 됨. 
      • 반드시 하나는 Stabilize로 설정할 것.
      • Simple Mode(Course Lock)와 Super Simple Mode(Home Lock)를 사용하면 조종하기 편함

      • 채널을 아래와 같이 설정
        • 1 : Loiter, 2: RTL, 3: ALT_Hold, 4: AUTO, 5: STABILIZE, 6: SIMPLE
        • SF를 UP으로 두면  SE UP Stabilize, SE Mid Alt Hold, SE DN : Loiter 가 됨.
        • SF를 DN으로 두었을 때 SE: UP Simple, Mid Auto, DN RTL
        • 아래와 같이 GCS에서 확인 가능함

9. FailSafe 설정


Radio Failsafe(Throttle Failsafe) : 수신기와 연결이 끊어졌을 때. 


  • 발동 시점
    • 조종자가 RC 송신기를 껐을 때
    • 기체가 RC 범위를 넘어 갔을 때(약 500-700m)
    • 수신기 동력 차단(가능성 극히 낮음)
    • 수신기와 FC간의 전선이 끊어졌을 때(가능성 극히 낮음). 참고로 APM2의 경우에는 채널3만이 Failsafe를 일으킴
  • 발동 후 동작
    • 이미 시동해제(disarm)상태일 경우 : 아무 동작도 안함
    • 기체가 착륙해있거나 stabilize/acro/모드 이면서 throttle이 제로인 경우 : 모터가 즉각 시동해제
    • 기체 GPS가 고정된 상태고 출발지점에서 2미터 이상 떨어진 경우 : RTL(Return to Launch)
    • 즉시 착륙하는 경우
      • GPS가 고정되지 않은 경우
      • 출발지점에서 2미터 이내인 경우
      • FS_THR_ENABLE을 "Enabled Always Land"로 설정해둔 경우
    • Failsafe 상황이 해제되어도 현재의 비행모드가 그대로 유지됨. 즉, 이전의 모드로 돌아가지 않음. 예를 들어 원래 Loiter 모드였는데 Failsafe가 발생하여 RTL로 바뀌었을 경우, Failsafe 상황이 해제되어도 계속 RTL이 진행됨. 다시 Loiter 모드로 바꾸고 싶다면, 먼저 다른 비행모드로 바꿨다가 Loiter 모드로 설정해야 함
  • 송신기 및 비행콘트롤러 설정
    • 새로 구입한 수신기는 기본적으로 송수신기간 연결이 끊어지면 최종적으로 알고 있는 지점에서 모든 채널을 계속 보유하도록 설정되어 있음. 이 경우에는 비행콘트롤러는 신호가 끊어졌는지 알 수 없다. 따라서 수신기를 비행콘트롤러로 하여금 연결이 끊어졌음을 알릴 수 있도록 설정해야 한다. 두 가지 방법이 있다. 
      • "Low-Throttle" 방법 : 수신기가 throttle 채널(대부분 3번채널)의 값을 일반적인 범위아래로 (대부분 975 이하) 끌어내린다. 이는 Futaba 및 오래된 시스템에서 사용되고 있다.
      • "No Signal" 방법 : 수신기에서 비행콘트롤러로 가는 신호를 차단한다. 이 방법이 더 나은 방법으로, 대부분의 최신 FrSky 는 이 방식을 채택하고 있다.
    • 송수신기 종류에 따라 약간씩 다르므로, 어떤 방법이 있는지, 어떻게 설정할지는 매뉴얼을 참고할 것
  • Low-Throttle 설정방법
    • LiPo 배터리는 연결하지 않은 상태에서 FC를 Mission Planner에 연결. 
    • Initial Setup -> Mandatory Hardware -> FailSafe 선택
    • Radio Failsafe 옵션은 다음과 같이 4가지
      • Disabled : 사용하지 않음
      • Enabled alwayws RTL : 현재 어떤 모드이던지 즉시 RTL
      • Enabled Continue with Mission in AUTO : 현재 AUTO 모드인 경우에는 RC 범위를 넘어가더라도 계속 임무를 수행하도록 하고, 다른 모드인 경우에는 즉시 RTL
      • Enabled always LAND : 즉시 착륙
    • FS Pwm 값 값의 설정
      • throttle stick 최하단이고 수신기가 off일때의 채널3 PWM 값보다 적어도 10 이상으로.
      • throttle stick 최하단이고 수신기가 on일때의 채널3의 PWM 값보다 적어도 10 이하로. 
      • 단 910 이상
      • Futaba의 경우엔 원래 두번째 기준으로 되어 있는 것 같고... 그런데도 Failsafe는 작동하는 것으로 보임. (수신기를 차단하면 삐뽀하는 소리가 들림) 그래서 그림에는 1094+10으로 설정했으나, 실재로는 1094-10으로 설정해두었음. <- 나중에 체크할 예정
  • "No-Signal"은 생략
    • FrSky 만 적용?
  • 시험방법
    • 이하도 생략


Battery FailSafe : 배터리 전압/전류가 낮을 때


  • 배터리 전압이나, 추정 전력이 설정된 값보다 낮을 때 자동적으로 RTL 혹은 Land 가 실행되도록 설정
  • 발동 시점
    • 전압이 10.5볼트(조정가능) 이하로 떨어질 때
    • 추정된 잔여 전력이 Reserved MAH 값보다 떨어질 때
  • 발동 후 동작
    • 이미 시동해제(disarm)상태일 경우 : 아무 동작도 안함
    • 기체가 착륙해있거나 stabilize/acro/모드 이면서 throttle이 제로인 경우 : 모터가 즉각 시동해제
    • RTL(Return to Launch)
      • FS_BATT_ENABLE = 2(RTL) 이거나, AUTO 모드이면서 GPS가 고정되었고 출발지점보다 2미터 이상 떨어져 있는 경우
    • 즉시 착륙하는 경우 : 기타 모든 경우
  • 설정방법
    • 여기에 들어가서 Power  모듈 설정부터 완료할 것
    • Initial Setup -> Mandatory Hardware -> Failsafe
      • "Low Battery" 한계값을 지정(예 : 10.5V) 아마도 3S 기준으로 셀당 3.5볼트임. 이 기준에 따르면 4S은 14 볼트로 설정
      • Reserved MAH를 0으로 하면 전력에 대해서는 설정하지 않음. 설정할 경우에는 600 정도면 충분한 정도
      • RTL 또는 Land 로 설정

GCS FailSafe : 지상국 (Ground Control Station)과 연결이 끊어졌을 때


  • 세팅값 및 기체의 위치에 따라 다르지만, RTL/Land 할 수도 있고 기존 임무를 계속 수행하도록 할 수도 있다.
  • GCS로 콥터를 조종하다가(joystick을 사용하는 등) GCS와 5초 이상연결이 끊어지면
    • stabilize/acro 모드이고 throttle이 0 라면 즉시 시동해제
    • 기체 GPS가 고정된 상태고 출발지점에서 2미터 이상 떨어진 경우 : RTL(Return to Launch)
    • GPS가 고정되지 않은 상태이거나 2미터 이내인 경우 : LAND
    • Auto 모드이고 GCS Failsafe 옵션을 2(Enabled_continue_in_auto_mode)로 설정되어있을 경우 임무 계속
  • Failsafe 상황이 해제되어도 현재의 비행모드가 그대로 유지됨. 즉, 이전의 모드로 돌아가지 않음. 예를 들어 원래 Stabilize 모드였는데 Failsafe가 발생하여 RTL로 바뀌었을 경우, Failsafe 상황이 해제되어도 계속 RTL이 진행됨. 다시 Stabilze 모드로 바꾸고 싶다면, 먼저 다른 비행모드로 바꿨다가 Loiter 모드로 설정해야 함
  • FS_GCS_FAILSAFE
    • 0 : Disable
    • 1 : 활성화. 연결이 끊기면 항상 RTL
    • 2 : AUTO 모드일 경우에는 임무 계속. 기타 모드에서는 RTL

10. Geofence 설정


ESC 캘리브레이션



  • 사전준비 : Pixhawk를 PC와 연결하지 말것. Battery 분리, 프로펠러 분리
  • 송신기 전원 on - throttle 맨위로 (비디오는 mode 1 인듯)
  • 배터리 연결 - Pixhawk에 있는 LED가 blue/yellow/red 로 계속 돌아감
    • 삐삐 소리가 남 - 다음번 전원이 들어오면 ESC를 조정하겠다는 뜻임
  • battery 전원을 뺐다가 잠시후 다시 연결.  (throttle 은 그대로 둔 상태로)
  • 빨간색으로 고정될 때까지 safety button을 눌러줌. 
  • 삐삐삐 (3S 배터리가 연결되어 있음을 감지했음.) 그 다음 삐삐 (throttle이 최대라는 걸 감지했음) 그러면 바로 throttle을 최소로 내릴 것.
    • 약간 긴 삐 소리가 남. (calibration 이 완료되었음)
    • throttle을 살짝 올리면 모터가 돌아감.
  • throttle이 완전히 내리고 배터리를 빼면 완료. 
  • 10초이상 기다린 후 다시 연결하면 일반 비행모드가 됨.


모터 방향 테스트


  • 직접 테스트 방법
    • 프로펠러는 뽑아둘 것 
    • 수신기 on (Stabilize mode) 
    • 배터리 연결 
    • Arming(throttle down, rudder 오른쪽) 
    • Arming 실패시 Prearm safety check 에서 확인할 것.
    • Throttle을 조금 올리고 방향 확인.
  • Mission Planner에서 테스트 방법
    • Mission Planner - Connect -> Initial Setup -> Optional Hardware -> Motor Test 
    • 누를 때마다 해당 모터가 5초씩 회전 
    • 만약 안돌아가면 5%-> 10% -> 15% 로 올려가면서 테스트.
  • 모터 방향을 바꿔야 할 경우, 모터와 ESC 결합하는 부분까지 해체하고, ESC에 연결된 3개의 선중에서 임의의 2개를 바꾸면 됨. 

====

이 정도를 세팅하면 일단 비행에는 문제가 없습니다. 그러나 콥터 페이지에 들어가보시면 더 상세한 설정 방법이 많이 있습니다. 한마디로 아주 복잡합니다. 제가 처음에 조립했던 DJI F450 ARF 키트에 비하면 난이도가 3배는 되는 것 같습니다.


그 이유는... DJI 경우, 자기네 하드웨어만을 대상으로 하기 때문에 미리 세팅된 부분은 생략하고 간단하게 설정을 할 수 있는 게 아닌가 싶고요, Pixhawk의 경우 기능이 많고... 다양한 하드웨어를 지원해야 하는 것 때문에 복잡하다고 보면 될 것 같습니다.


민, 푸른하늘

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 9. 16. 22:06

이 글은 APM:Copter (즉, ArduPilot 중 멀티콥터용 모듈)에 들어 있는 여러가지 비행모드를 해설한 글입니다. 원본 글은 여기입니다.


APM:Copter 에는 14개의 비행 모드가 있습니다. (NAZA M V2에 단 3개가 있는 것에 비해 정말 많네요. 아... 엊그제 Follow Me 모드와 POI 모드 두개가 더 추가되었습니다.) 이중 10개 정도가 자주 사용된다고 합니다. 


참고로 비행모드 설정방법은 여기를 확인하시기 바랍니다.


Stabilize Mode(평형모드)

  • 기체 조종을 완전히 수동으로. 단 roll 과 pitch는 자동으로 평형을 잡아줌
  • 바람이 불 경우, roll 과 pitch를 계속 조종해야 함
  • yaw를 조종하면 방향이 바뀌고 손을 놓으면 그 방향으로 유지됨
  • throttle 값이 평균 모터 속도값으로 사용됨. 고도를 유지하려면 throttle도 계속 조종해야 함.
  • 조종하기가 쉽지 않으므로 초보의 경우엔 Alt hold 혹은 Loiter 모드를 사용할 것
Stabilize 모드에 관한 자세한 내용, 튜닝방법은 여기를 보라.

Alt Hold Mode(고도 유지 모드)

  • roll/pitch/yaw를 조종할 수 있음. 고도를 일정수준에서 유지시켜줌
  • roll/pitch/yaw의 조종은 Stabilize Mode와 동일
  • 고도는 기압계(barometer)를 이용하여 측정. 날씨 급변할 경우 고도 흔들릴 수 있음. Sonar가 장착되어 있고 8미터 이하인 경우 Sonar 값을 사용
  • 쓰로틀 스틱이 40-60% 범위내에 있으면 현재 고도가 유지됨.

Loiter Mode(위치 고정 모드)

  • 현재의 위치, 방향 및 고도를 유지. 기체를 조종할 수 있으며 스틱을 놓으면 그 위치를 지킴
  • GPS 신호가 좋고, 자기장 간섭이 적으며, 진동이 없어야 좋은 결과를 얻을 수 있음.
  • Pitch/Roll을 조종하면 수평위치를 바꿀 수 있음
  • Throttle을 사용하여 수직위치 변경 (Alt Hold 모드와 동일)
  • 방향은 Yaw 로 조종.

RTL(Return to Launch) Mode(집으로 모드)

  • 현재 위치에서 떠나, Home 위치(arming 한 위치) 위로 돌아옴
  • 15 미터 이하일 경우엔 15미터를 상승한 후 돌아오고, 더 높을 때는 그 고도를 유지하여 돌아옴

  • 반드시 GPS Lock 이 된 후 기동해야 함. (compass 없는 경우 APM의 파란색 LED가 계속 켜져 있음. compass 있는 경우에는 파란색 LED가 계속 깜박임)
  • RTL_FINAL_ALT 를 0으로 하면 자동으로 착륙

Auto Mode(자동 모드)

  • 오토파일럿에 미리 프로그램된 미션 스크립트(mission script)에 따라 이동하는 모드. 미션 스크립트는 운항명령(navigation command), 즉 웨이포인트(waypoint)와, DO 명령(사진 촬영과 같이 콥터의 위치와는 관계없는 명령)으로 구성된다.
  • 미션 스크립트에 관한 정보는 여기 참고

  • 자동모드는 고도유지 모드와 로이터 모드를 포함하므로, 이 두가지가 잘 되는 것을 확인한 후 사용할 것
  • 진동 level 과 전자나침반 level 이 적정한 수준인지를 포함한 모든 요구사항이 만족되어야 하며, GPS의 HDOP가 2.0 이하이어야 함.
  • 자동모드도 비행모드 설정 스위치로 설정해야 함
  • 멀티곱터가 지상에 있는 상태에서 시작한다면, throttle을 최대 아래로 하고, Auto 모드로 설정한 후, throttle을 올린다. throttle이 0 이상이 되는 순간부터 mission을 수행한다.
  • 공중에 떠 있는상태에서 시작한다면, 모드 스위치를 Auto로 돌리는 순간부터 첫번째 명령을 수행한다. 첫번째 명령이 Take off(이륙)인데 이미 공중에 떠 있는 상태라면 이를 완료했다고 판단하고 두번째 명령부터 수행한다.
  • 자동모드를 수행중 조종기에서 다른 모드(Loiter 등)로 바꾸면 즉시 콘트롤을 할 수 있다. 이상태에서 다시 자동모드로 돌리면 맨처음 명령부터 다시 수행한다.
  • 미션 수행중에는 roll 과 pitch 명령은 무시한다. yaw의 명령은 조종기로 지정할 수 있다. (콥터 방향, 즉 카메라의 방향 수정가능) 단 다음 Waypoint로 가면 autopilot에서 다시 콘트롤한다.

Acro Mode(아크로 모드)

  • 아크로모드는 RC 스틱으로 회전 각속도를 조정함. 스틱을 놓으면 현재의 기울기 유지. 
  • Flips Rolls와 같은 곡예비행, 부드럽고 빠른 콘트롤이 필요한 FPV 등에 유용
  • throttle은 완전 매뉴얼. 기체가 기울어져도 보상을 하지 않음. throttle을 최소로 내리면 모터가 최저속도로.
  • 아크로 모드는 로칼 좌표계. 기체를 기준으로 r/p/y가 정해짐. 반면 스포츠 모드는 지구를 기준으로 정해짐
  • 가장 조종하기가 힘듦. 

Sport Mode(스포츠 모드)

  • 고도 고정 모드(Alt hold) + 비율 조정 안정화(rate controlled stabilize)
  • FPV를 날리거나, dolly shot 혹은 fly by 등의 기법으로 촬영할 때 유용하도록 개발됨. 기체를 특정한 각도로 설정하면 그것이 유지됨
  • 조종기로 roll, pitch, yaw로 회전률을 설정할 수 있음. 스틱을 놓아도 고도는 유지됨
  • 45도 이상 기울어지지는 않음
  • 고도에 대해서는 고도 고정모드와 동일. 따라서 Throttle 이 중앙에서 10% 범위내에 있으면 고도가 유지됨

Drift 모드(드리프트 모드)

  • 멀티콥터를 자동 coordinated turn 이 되는 비행기처럼 날릴 수 있음
  • Yaw 와 Pitch는 조종할 수 있으나, Roll은 AutoPilot이 자동으로 조종. Mode 2를 사용할 경우 하나의 스틱만으로 직관적으로 콘트롤 할 수 있음.
  • 평형모드(Stablize Mode)와 같이 throttle을 마음대로 조종가능.

Guided Mode(가이드 모드)

  • 전통적인 비행모드가 아님. 스위치에 할 수 없음.
  • 가이드 모드는 지상국(Mission Planner 등)과 Telemetry radio가 있어야 함.
  • Mission planner 지도에서 지점을 찍으면 그곳으로 이동함. 위치에 도착하면 hovering.
  • Follow me 모드도 가이드 모드를 사용함.
  • 좀 더 자세한 내용은 별도의 문서를 참고할 것


Circle Mode(원 모드)

  • 지정한 점을 중심으로 회전. 이때 기체 앞방향이 지정한 점을 향함.
  • CIRCLE_RADIUS로 지정할 수 있는데, 0으로 지정하면 그 지점에서 360도 회전함
  • roll 과 pitch 에 대해서는 콘트롤 불가. 높이 조정은 가능

Pos Hold Mode

  • AC3.2에서 새로 등장한 모드 
  • Loiter(위치 고정 모드)와 거의 비슷(위치/방향/고도가 일정하게 유지됨) 그러나 스틱을 조작하면 곧바로 기울기 각도로 반영되어 훨씬 자연스러운 느낌.
  • Loiter 모드는 수평이동 속도를 제어하는데, Pos Hold 모드는 기울기 각을 제어함


Land Mode (착륙 모드)

  • 10미터 까지는 일반 Alt Hold 모드 (WPNAV_SPEED_DN에서 지정한 속도로)에 따라 하강함.
  • 10미터 이하에서는 LAND_SPEED에 지정한 속도로 하강
  • 지면에 도달하면 자동으로 모터를 끄고 disarm. 

Brake Mode(브레이크 모드)

  • 브레이크 모드를 켜면 가능한 한 빨리 정지. GPS/나침반/무진동이 필요함. 
  • 콘트롤러를 조작할 수 없음. 다른 모드로 바꾸어야만 조작가능

Follow Me Mode(추적 모드)

  • 내가 움직이면 멀티콥터가 따라오게 함. telemetry radio 와 지상국이 필요. PC, Mac 등을 사용할 수도 있으나, 휴대폰이나 타블렛을 지상국으로 사용하는 게 편함
  • 필요한 장비
    • telemetry 가 달린 멀티콥터
    • 랩탑
    • GPS USB dongle. 

Simple and Super Simple Mode

  • 멀티콥터의 방향과 관계없이 조종자의 위치를 기준으로 조종. 조종에 익숙하지 않은 초보자나, 아주 멀리 있어 방향을 확인하기 힘든 경우에 유용
  • Simple 모드와 Super Simple 모드는 아크로 모드와 드리프트 모드를 제외하고 다른 모드와 함께 사용할 수 있음.
  • Simple Mode는 멀티콥터 이륙시 방향을 기준으로 전자나침반에 따라 이동함
  • Super Simple Mode는 이륙지점을 기준으로 (GPS 신호가 좋아야함). 


Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 9. 16. 22:00

픽스호크(Pixhawk)는 3DR에서 제작, 판매하고 있는 오픈하드웨어 비행콘트롤러입니다. (이쪽에서는 Autopilot 이라고 부르네요.) 이 것을 사용하려면 먼저 펌웨어를 설치해야 합니다.


이 문서의 원본은 common-loading-firmware-onto-pixhawk 입니다. 원본에는 APM2.x 보드에 관한 내용도 있지만, 생략했습니다.


아울러 3DR Radio를 사용하여 MIssion Planner와 비행콘트롤러를 연결하는 방법도 정리했습니다. 문서가 길지도 않고 중복되는 내용도 있어서 입니다.


콘트롤러를 컴퓨터에 연결

  • Mission Planner를 컴퓨터에 설치
  • 비행콘트롤러를 USB 케이블를 사용하여 연결

  • 드라이버 소프트웨어가 자동으로 설치됨

Mission Planner에 연결

  • Mission Planner 실행. 오른쪽 위에서 COM 포트 드롭다운을 선택
  • AUTO 또는 "PX4 FMU"로 지정된 포트를 선택.
  • Baud rate를 115200으로 설정.
  • 주의 : CONNECT는 연결하지 말것


펌웨어 설치

  • Mission Planner에서 "Initial Setup -> Install Firmware" 를 선택하고 적당한 프레임(저의 경우엔 쿼드콥터) 를 선택

  • 아래와 같은 다이얼로그가 나타나면 USB 연결을 끊은 뒤, OK를 누르고, 30초 내에 다시 연결

  • 상태 표시줄에 "erase..." "program...", "verify..." 등이 나타나고, 마지막으로 "Uplaod Done"

시험

  • Mission Planner에서 "Flight Data" 화면으로 바꾸고 Connect 를 누름
  • 연결된 상태에서 보드를 기울이면 HUD 화면에 기울이는 게 표시되어야 함.

Mission Planner와 Pixhawk를 연결하는 방법

  • 먼저 통신방법/채널을 선택해야 함. 
  • 위와 같이 USB 케이블로 연결하면 됨
  • 아래 그림과 같이 3DR Radio로 연결할 수도 있음
  • 3DR Radio를 연결하는 방법은 common-3dr-radio-version-2 를 확인

  • 그 다음에는 COM 포트를 선택하고, baud rate를 선택함. (USB의 경우 11520, 3DR radio의 경우 57600)
  • Connect를 누름. 연결이 되면 그림이 초록색으로 바뀜.

문제 해결
  • 연결이 안될 경우, 먼저 baud rate 확인
  • Window Device Manager 리스트에서 해당 COM 포트가 존재하는지 확인
  • USB 포트를 사용하고 있다면, 다른 포트로 바꾸어볼 것.

☆☆☆ 상태 확인을 위해서는 LEDSound 를 확인해 볼 것.


Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 9. 3. 10:07

이 글은 3DR에서 판매하고 있는 픽스호크(Pixhawk) 퀵가이드를 번역하고, 기타 정보를 취합한 것입니다.


픽스호크 비행콘트롤러는 쿼드콥터와 같은 멀티콥터 외에도 고정익, 모형헬기, 심지어는 모형배나 자동차까지도 조종이 가능한 자동운항 가능 콘트롤러입니다. 


픽스호크는 기본적으로 하드웨어만 있습니다. 여기에 여러가지 종류의 Firmware를 올릴 수 있는데, 어떤 것을 올리느냐에 관계없이 거의 비슷하다고 합니다. (조금 더 알아봐야 합니다.)


픽스호크의 구성품


  • Pixhawk 콘트롤로
  • GPS with compass
  • Telemetry radio
  • 별도로 RC transmitter/reciever 가 필요함. 
  • ArduPilot 펌웨어는 Mission Planner 또는 APM Planner를 통해 업로드 해야 합


픽스호크 설치 방법


진동 완충용 Foam 을 사용하여 고정. 이때 가능한 한 무게 중심에 설치. 화살표가 전방을 향하도록 설치.
화살표가 전방을 향할 수 없을 경우에는 여기에 다른 방향으로 설치하는 방법이 있음.


픽스호크 선연결

  • 버저와 안전스위치는 반드시 연결해야 함.
  • 텔레메트리 연결... 3DR Radio kit, 6선으로 연결. 비행상태 전송. 비행중에도 오토파일럿 경로 수정 가능.
  • GPS+전자나침반... 반드시 연결. 3DR GPS kit. 6선으로 GPS 포트에 연결. MAG 는 4선으로 I2C에 연결. 
  • 전력선... 3DR Power module 에서 나오는 6선으로 연결. 
  • I2C Splitter ... 주변장치를 추가하여 연결할 때. 별도의 compass/외부 LED/속도 센서 등.
  • micro SD 카드를 삽입... 여기에는 비행기록이 담김



  • 라디오 수신기 연결
    • PPM PC 수신기 혹은 Futaba의 S.Bus 수신기의 경우.  (SB는 사용하지 않음)
    • SPECTRUM SATELLITE 리시버는 별도의 단자가 있음 (좌측 위)
    • 일반 PWM 수신기의 경우
      • PPM Encoder를 별도로 구매하여 연결해야 함.
  • Pixhawk 와 ESC 연결
    • Quad의 경우 1-4까지만 연결하면 됨. 모터 번호와 일치해야 함


Firmware 올리기

  • Mission Planner 또는 APM Planner 를 설치하고 이를 통해 올릴 수 있음
  • 모두 설치가 끝나면 어플을 실행하고, Pixhawk 를 mico-USD로 연결.
  • 연결하면 자동으로 드라이버를 설치함. 이때는 "Connect"를 클릭하지 말 것.
  • Initial Setup, Install Firmware를 선택하고 기체의 종류를 선택


  • 상태줄에 다운로드가 완료되었다고 뜨면, USB를 끊었다가 다시 연결. 
  • 이때 음악소리가 들리면 완료. 삑삑 소리가 들리면 USB를 끊고선 안전버튼을 누른 상태에서 USB를 연결. 이때 삑소리가 여러번 들리고 마지막으로 삑삑 하면 정상적으로 설치된 것임.

캘리브레이션


이 부분은 http://copter.ardupilot.com/wiki/configuring-hardware/ 참조

  • Pixhawk를 PC에 연결. communication option에서 PX4 FMU, 115200 으로 설정. 
  • Connect 를 누름. -> Initial Setup 과 Mandatory Hardware를 선택
  • Frame Type 선택
  • Compass 캘리브레이션
    • compass 를 Enable. Allow Dec Calculation 두개모두 On으로 설정
    • Pixhawk를 선택
    • 그 다음 Live Calibration 을 선택하면 Wizard가 뜸. 
  • 가속도계 캘리브레이션
    • Accel Calibarion 선택. AC 3.0+를 선택후 Calibrate를 누름. 
    • 기체 위치를 바꿀 경우에는 몇초쯤 대기후 실행할 것
  • RC 캘리브레이션
    • Radio Calibration 선택. 
    • 송신시 전원. Calibrate Radio 누름. 모든 스틱과 스위치를 끝까지 보냄. 
    • 모든 채널에 대해, 빨강 막대가 설정되면... Click when Done을 누를 것


  • Flight Mode 선택
    • 송신기 스위치를 조작하여 (비어있는 위치로) 옮김. 녹색이 현재 설정된 위치임. 
    • 각각의 위치에 대해 모드를 설정함. 
    • 다 끝나면 Save Modes를 누름.
    • 자세한 내용은 Copter wiki  확인
  • ESC 캘리브레이션
    • 아마도 필요하지 않을 것 같지만, 모터가 잘 안돌아간다면 여기에 있는 비디오를 참고로하여 실시
  • Pre-armSafety check
    • 캘리브레이션 잘못, 센서데이터 오류 등이 발생을 하면 비행이 불가능하도록 막음.
    • 이 경우 미션 플래너에 연결하여 오류를 체크하고 필요하다면 수정. 
    • 자세한 내용은 http://copter.ardupilot.com/wiki/prearm_safety_check/ 참조

기타 정보


  • LED의 의미


  • Safety Switch의 의미



  • Port




Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 9. 2. 14:27

이번엔 3DRobotics의 DIY Quad kit을 조립할 예정입니다. 이 문서는 조립을 위한 사전 준비용입니다.


이 제품은 멀티콥터 조립방법의 분류에 따르면 완전 조립 키트(All Inclusive Kit) 입니다. 말그대로 모든 부품이 다 포함되어 있어 그냥 키트만 구입한 후 조립만 하면 됩니다. 물론 이것만 조립할 것은 아니고, Tarrot Gimbal kit 그리고 LiveView Kit도 함께 조립할 예정입니다. 사진/비디오를 촬영하지 않는다면 의미가 없을테니까요.


아래가 DIY Quad kit 입니다. DJI F450 Flamewheel 에 비해 썩 예뻐보이지는 않네요. ㅎㅎ


왜 이걸 조립하느냐... 몇가지 이유가 있습니다.


우선 저는 Pixhawk 비행콘트롤러에 관심이 많습니다. 오픈소스이기도 하고, 자동운항을 비롯해 아주 많은 기능이 들어 있기 때문입니다. (DJI NAZA 쪽은 건드릴 수 있는 게 아무 것도 없거든요) 항공사진촬영 및 3D 매핑쪽으로 응용하려면 이 콘트롤러가 필수적입니다. 


이 기종은 물론 GoPro 용입니다. 그러니까 항측용으로는 조금 부적절합니다. 하지만, 처음부터 대형기종을 조립하는 건 부담스러워서 이걸로 우선 테스트 해볼 생각입니다.


이 글은 http://3drobotics.com/kb/diy-quad-kit/ 에 있는 조립 설명서를 정리한 것입니다. 제가 필요한 것을 위주로 정리했기 때문에 약간 빠진 것도 있을 수 있습니다. 그리고 그림은 거의 없습니다. 원 소스를 참고해서 보셔야 합니다.


부품


Frame : 프레임 부속품. 암/플레이트/다리/기타 나사 와 벨크로

          PDB(전력배분판), 4줄전선(15cm), 6줄전선(15cm), 서보케이블...


전자부품 : 모터, ESC, 프로펠러, GPS 키트, Pixhawk


기타 필요한 부품 : 스크류 드라이버,  양면테이프, 납땜 도구 등


모터 조립


- 모터를 암에 결합

  • mortor plate를 암 끝에 올림. 좁은쪽이 바깥쪽. 그 위에 모터. 
  • 모터에 있는 구멍 2개를 정렬한 후, 아래쪽 큰 구멍을 통해 5mm 로 조임
  • threadlocker는 한방울 이하로 사용. 끝부분 나사 4-5개 정도만 발라줌.

- 모터 cable을 암 내부로 끼움


- 밑바닥에 motor plate 결합

  • 윗쪽 motor plate와 동일한 방향으로
  • 19mm spacer 를 가운데 두고  25mm 볼트/너트 3개로 결합. 

전력 계통 결합


- Deans connector 를 ESC에 납땜

+는 빨간색선, -는 까만선에. 미리 열수축튜브 끼워둘것.

- ESC에 1-4번까지 번호를 써둘 것. 

- ESC를 PDB(전력배분판)에 결합

  • PDB에 보면 M1 ~ M4 까지 있음. 이에 맞춰줘야 함. Deans connector 와 3선 케이블을 PDB에 연결
  • 3선 케이블 연결시, 하얀색은 M1-4 위치에, 빨간색은 +, 까만색은 - 에 맞춰줌
- PDB에 전력 모듈을 연결
XT60 커넥터를 끼워줌

본체 플레이트 결합


- base plate에 벨크로를 감는다

  • 맨질맨질한 면이 바닥으로 가야함
  • 배터리 고정용 벨크로 strap을 아래쪽 긴 구멍을 통해 끼워줌.
  • 긴 벨크로 테이프를 보슬보슬한 쪽을 base plate 아래에 붙여주고, 꺼칠꺼질한 쪽을 배터리에 붙여줌
  • *** 이 작업은 base plate 아래쪽임. 즉 배터리는 아래에 매달리는 형태
- 암을 base plate에 결합
  • 암 제일 안쪽에 있는 구멍. 30mm 나사를 끼움. 임시로 너트로 고정해둠
  • 검은색 암은 길쭉한 쪽으로 (이쪽이 후면임). 청색 암은 조금 넓은 쪽으로 연결할 것.
- 모터에 번호를 매겨둘 것. 전방후측이 1번. 반대쪽이 2번. 1/2는 시계반대방향으로 회전

- ESC와 모터 케이블을 연결함
  • 번호에 맞춰 모터의 3선과 ESC의 3선을 연결. 회전방향에 따라 색을 유의하여 꽂아줄 것.


- 전원부/모터/ESC 등을 모두 base plate 에 결합

  • ESC를 base plate 끝부분에 cable tie 로 고정 (ESC 라벨을 아랫쪽 구멍속으로)
  • 전원용 XT60 커넥터가 콥터 뒤쪽으로 빠져나오게 할 것


- Top plate 결합

  • 암 위에 Top plate를 올림. 암 고정부는 현재 금속너트로 고정되어 있는데, 여기에 나일론 너트를 하나더
  • 검은색 암은 30mm 볼트 + thumb nuts.
  • 파란색 암은 25mm 볼트 
  • 마지막으로 윗판과 아래판사이에 19mm spacer를 끼우고 25mm 볼트와 너트로 결합
- cable을 top plate 구멍위로 뽑아냄.
PDB의 2선, PDB 4선, 파워모듈 6선 등. 이 선들은 Pixhawk에 연결해야 함.

Pixhawk 플레이트 결합


-  Pixhawk 설치

Pixhawk 키트의 foam... 4개를 구석에 붙임. 화살표가 앞쪽(넓은 부분쪽)을 향하도록 설치함.


- 버저와 스위치 설치

  • 스위치를 Accessory plate에 끼워넣음. 스위치를 분리. 전선을 구멍에 윗쪽에서 아래쪽으로 끼워넣음. 
  • 스위치 케이블을 Pixhawk 에 있는 SWITCH 포트에 결합. 
  • 양면테이프를 사용하여 버저를 Accessory plate 아래쪽에 부착
  • **** 스위치는 위쪽, 버저는 아래쪽에 위치함.

-  GPS 설치

  • 기둥을 Accessory place 앞쪽에 설치. 단 이때, GPS 마스트 위쪽에서 낮은 부분이 왼쪽으로 가도록 할것
  • 마스트에서 비닐 벗겨내고, GPS 안테나 설치. 이때도 방향유의. 화살표가 앞쪽으로.
  • 선을 케이블 타이로 정리
- Pixhwark 선 연결
  *********************** 따로 정리함

- 플레이트 결합
  • Pixhawk plate위에 30mm 스페이서를 두고 그 위에 Accessory plate
  • 위쪽에서 나일론 bolt, 아래쪽은 금속 너트
  • Pixhawk plate를 Top plate위에 올려두고, 너트만으로 결합
- 기타 부품들 결합
  • I2C splitter, telemetry radio, RC 리시버 등 위치 선정. 양면테이프로 고정
  • 각 부품들을 Pixhwak 와 확실하게 결합


다리 조립


- 다리 조립

다리판 배열. 구멍 3개. 18mm 스페이서를 넣고 5mm 나사로 결합. 

다리 위쪽에는 leg support plate를 끼워 넣음


- 25mm 나사로 결합


캘리브레이션


- Mission Planner 혹은 APM Planner 를 다운로드 받음


- Wizard 실행

  • mission planner를 실행시키고 Pixhawk 를 USB로 연결. copter의 배터리 연결. *** 프로펠러는 꽂지 말것
  • 메뉴에서 "Initial Setup" 
    • Firmware 설치 - 완료되면 음악들림. 삑삑 소리가 들리면 비상스위치를 누름
    • Wizard 실행 - 그 다음부터는 순서대로. 
      • Frame type 은 대칭형 쿼드콥터
      • 가속도계 캘리브레이션
      • 전자나침반 캘리브레이션
      • 배터리 모니터... 전압과 전류 조정. 이 비디오 확인 (다른 장비가 필요하네... ㅠㅠ)
      • 소나 - 통과
      • 송수신기 캘리브레이션. 이전에 미리 바운딩 되어 있어야 함. RC 송신기를 켜고 Calibrate Radio를 선택함. Calibrate를 누르면 시작함. 스틱과 스위치들을 끝까지 돌릴 것. 각각의 빨간색 막대가 콘트롤 끝까지 가는지 확인할 것. 각각의 채널에는 최대/최소를 조정할 수 있음. 다 끝나면 "Click when Done"을 누를 것
      • Flight Mode를 선택 : 송신기에서 스위치를 이동시켜서... Flight mode를 각 스위치의 초록색부분에 할당시킬 것.???? ******* Flight mode는 별도 정리
      • Fale Safe : throttle failsafe, battery failsafe, GPS and ground station failsafe 등.
      • Geofence : geofence를 설정하면 Autopilot 이 정해진 구역에는 들어가지 못하도록 막아줌. 설정방법
- ESC 캘리브레이션
이 비디오를 확인할 것:::: All at once ESC calibration.... 
  • 시작전 확인사항 : PC와 연결되어 있으면 안됨. Battery 꺼져있고, 프로펠러도 빼고 시작
  • #1 - 송신기 전원 켜고, Throttle을 최대로 올려줌. 
  • #2 - 배터리 전원 연결 - LED가 파랑-노랑-빨강이 순환함. (다음번 전원에서 ESC 캘리브레이션 하겠다는 뜻)
  • #3 - 배터리를 뺐다가 다시 연결. (Throttle은 그대로)
  • #4 - 삑 3개(3S 배터리), 삑 2개 (throttle이 최고라는 것 감지했음) - throttle 내릴 것, 긴 삑(완료). 이상태에서 throttle을 올리면 모터가 돌아감. - LED는 빨강/파랑이 순환됨. 
  • #5 - throttle을 내린 상태에서 배터리를 해제했다가 다시 연결해주면 정상상태로 돌아감
- 모터 회전 테스트
올바로 따라만 하면 문제가 없을 것. 만약 방향이 맞지 않으면 ESC/모터 연결부를 확인할 것

프로펠러 결합


- 프로펠러 조립

프로펠러 패키지에서 링을 제거. 링보다 작은 구멍을 찾아서, propeller hub 뒤쪽에서 삽입


- 프로펠러 어댑터 조립

프로펠러 어댑터와 긴 스크류 드라이버. 프로펠러 어댑터에 포함된 3개의 작은 나사에 threadlocker 발라줌. 어댑터를 모터 위에 결합


- 프로펠러를 모터에 결합할 때 방향을 잘 확인할 것 (글씨가 위로 가는 방향으로 결합)


====


Posted by 푸른하늘이

댓글을 달아 주세요