드론 쿼드콥터

고정익의 비행모드

하늘이푸른오늘 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