드론 쿼드콥터

안정화(Stabilize) 모드

하늘이푸른오늘 2017. 6. 29. 22:19

Stabilize 모드는 기체를 수동으로 날릴 수 있지만, roll/pitch 축에 대한 수평은 유지된다.

참고 : 조종을 배우는 중이라면 AltHold 모드 혹은 Loiter 모드를 시도하라. 한번에 너무 많은 콘트롤할 필요가 없어서 충돌 위험이 낮아진다.

개요

  • 조종사의 roll/pitch 입력이 곱터의 기울기 각도를 제어한다. 조종사가 스틱을 놓으면 기체는 자동적으로 수평을 잡는다.
  • 기체가 한자리에 머물도록 하려면, 조종사는 자주 roll/pitch 명령을 입력해야 한다. 바람에 의해 밀리기 때문이다.
  • 조종사의 Yaw 입력은 기수방향의 변화율을 제어한다. 조종사가 yaw 스틱을 놓으면 기체는 현재의 기수방향을 유지한다.
  • 조종사의 Throttle 입력은 모터의 평균속도를 제어한다. 즉, 고도를 유지하려면 Throttle을 계속 조종해야 한다. 조종사가 Throttle을 완전히 아래로 내리면, 모터는 최저속도(MOT_SPIN_ARMED)로 내려오고, 이때 기체가 날고 있다면 고도제어를 잃고 추락하게 된다.
  • 모터에 보내진 Throttle은 기체의 기울어진(tilt) 각도에 따라 자동적으로 조정된다. (즉, 기체가 기울어져 있을 수록 증가된다.) 기체의 자세변화에 따라 조종사가 해야할 보정을 줄일 수 있도록 하기 위해서이다.
참고 : 조종사가 기체의 제어를 잃으면, Stabilize 모드와 같은 매뉴얼 모드로 전환하라. 콥터의 제어를 유지하는 것은 당신의 책임이 된다.

튜닝

AC3.1 이후 버전에는 최적의 Stabilize 와 Rate PID 값을 자동적으로 결정해 주는 AutoTune 기능이 포함되어 있다. 수동으로 PID 값을 조정하는 것보다, AutoTune을 수행할 것을 강력하게 추천한다.

  • ANGLE_MAX는 최대 기울기 각으로 기본값은 4500(즉 45도)이다.
  • ANGLE_RATE_MAX는 roll과 pitch 축에서 최대 요청 회전률을 제어하며, 기본값은 18000(180도/초)이다.
  • ACRO_YAW_P는 조종사의 yaw 입력에 근거해 콥터를 얼마나 빨리 회전시킬 것인가를 제어한다. 기본값인 4.5는 yaw 스틱을 좌측 또는 우측으로 완전히 밀었을 때 200도/초 로 회전하도록 한다. 높은 값을 줄 수록 빨리 회전한다.
  • Stabilize Roll/Pitch P 는 조종사의 입력에 대한 콥터의 roll/pitch의 반응성과, 원하는 roll/pitch 각과 실제 roll/pitch각의 오차를 제어한다. 기본값인 4.5는 각도에서 1도만큼 오차가 발생하면 4.5도/초 로 회전하라는 명령을 주게 된다. 높은 이득, 예를 들어 7 또는 8은 콥터의 반응성을 높이고, 돌풍에 더 빠르게 저항한다.
    • 낮은 statbilize P는 콥터를 매우 천천히 회전하게 하여, 콥터의 반응성을 떨어뜨리고, 바람이 교란할 경우 추락할 수 있다. 만약 부드럽게 비행하고 싶은 목적이라면, stabilize P 값 대신, RC_Feel 매개변수를 먼저 낮춰보라.
  • Rate Roll/Pitch P, I, D 항은 위에서 언급한 Stabilize(즉 각도 angluar) 제어기로부터 생성된 원하는 회전각에 근거하여, 모터의 출력을 제어하는 항이다. 이들항은 일반적으로 콥터의 출력:무게비와 관계있다. 즉, 출력이 큰 콥터는 rate PID 값을 적게 해야 한다. 예를 들어 추력이 큰 콥터는 Rate Roll/Pitch P 값이 0.08일 때, 추력이 작은 콥터는 0.18 또는 더 큰 값을 가지게 된다. 
    • Rate Roll/Pitch P 값은 콥터를 올바르게 튜닝할 때 가장 중요한 값이다.
    • P값이 높을수록 원하는 회전률을 획득하기 위한 모터의 반응이 빠르게 된다.
    • 표준적인 콥터의 P 기본값은 0.15 이다.
    • Rate Roll/Pitch I는 콥터를 오랜시간에 걸쳐 원하는 회전률을 유지하지 못하도록 만드는 외부 힘을 보상하는데 사용된다. 
    • I 항이 높으면, 원하는 속도를 유지하기 위해 빠르게 증가하며, overshoot를 방지할 수 있도록빠르게 감소한다.
    • Rate Roll/Pitch D 는 원하는 설정점을 향한 콥터의 가속도 반응성을 약화시키는 데 사용된다. 
    • D 값이 높으면 아주 이상한 진동과, "memory" 효과가 발생하여, 제어가 아주 늦거나 반응성이 떨어지는 느낌이 든다. 적절하게 설치된 제어기는 Rate D 값을 0.011을 허용해야 한다.???
    • 기체에 따라 다르지만, 최저 0.001에서 최고 0.02까지의 값이 사용된다. 

dataflash logs에서 성능 검증하는 방법

dataflash 로그를 다운로드 받아, 미션플래너에서 열고, ATT 메시지의 DesRoll (조종사가 원하는 roll 각도)와 Roll(실제 roll), 그리고 DesPitch(원하는 pitch 각도)와 Pitch(실제 pitch)를 그려보면 stabilize 모드 성능을 잘 살펴볼 수 있다. 이 두가지는 아래에서 보는 것처럼 잘 추적되어야 한다.

일반적인 문제

  • 새로운 콥터가 이륙하자마자 뒤집어진다. 이는 일반적으로 모터 순서가 올바르지 않거나, 잘못된 방향으로 회전하거나, 프로펠러를 잘못 끼웠을 때 발생한다. 
  • 콥터가 roll/pitch축으로 뒤뚱거리듯 흔들린다. 이는 대부분 Rate P 값이 잘못되었을 때이다. 이에 기술한 튜닝 부분을 읽어보라.
  • 빠르게 하강할 때 콥터가 뒤뚱거리듯 흔들린다. 이는 콥터가 자신의 prop wash 속으로 낙하하기 때문으로, Rate Roll/Pitch P 값을 올리면 도움이 되기는 하지만, 이를 제거하는 것은 거의 불가능하다.
  • 콥터가 이륙시 방향을 좌측 또는 우측으로 15도를 튼다. 일부 모터가 똑바르지 않거나, ESC가 교정이 안되어 있을 수 있다.
  • 콥터가 바람이 없는 환경에서도 한쪽 방향으로 가는 경향이 있다. SaveTrim 혹은 AutoTrim을 시행하라.
  • 콥터가 고도를 유지하지 않고, 공중에 완전히 조용하게 머무르지 않는다. 위에서 언급한 것처럼, Stabilize 모드는 수동 비행모드이기 때문에, 고도와 위치를 유지하려면 스틱을 계속 조정해야 한다.
  • 가끔씩 roll/pitch 방향으로 움찔거른다. 일반적으로 수신기에 무언가의 간섭으로 발생한다. (예를 들어 FPV 장비를 수신기에 너무 가깝게 설치하였을 때) 또는 ESC 문제일 수도 있는데, 이는 ESC 교정으로 해결될 수 있다.
  • 비행중 갑자기 뒤집힌다. 이는 거의 항상 모터 또는 ESC의 기계적인 고장으로 발생한다.

===

원문 : http://ardupilot.org/copter/docs/stabilize-mode.html

이전 글 : 콥터 비행모드(Copter Flight Modes)

다음 글 : 고도 유지(Alt Hold) 모드