🛩️
[Ardu]자율주행드론 개발자 과정 기본 교재
  • 교육 안내
  • VIO를 이용한 non-GPS 자율주행 드론 개발
  • 픽스호크 드론의 기초
    • MultiCopter는 무엇이며 어떻게 작동합니까?
    • 오토파일럿(Flight Controller) 선택
    • ArduPilot vs. PX4 선택
    • ArduPilot 시스템 아키텍처
    • 지상국(Ground Control System) 선택
    • MultiCopter 제작에 필요한 것
    • 자동 조종 장치 하드웨어 옵션
    • Pixhawk 6C 미니 비행 컨트롤러
    • Kakute H7 비행 컨트롤러
  • 시작 전에 알아두어야 할 것들
    • Ground Station(GCS) 설치
      • 미션 플래너 설치(ArduPilot)
        • Mission Planner를 AutoPilot에 연결
      • QGroundControl 설치
      • 펌웨어 설치 (ArduPilot)
    • 오토파일럿 FC 장착
    • 드론에서 사용되는 센서간 통신제어 방식
    • 일반적인 자동 조종 장치 배선 연결
    • 자동 조종 장치 입력 및 출력
    • Pixhawk 배선
    • Pixhawk 전원 공급
    • ESC (전자속도제어기)
      • BLHeli32 및 BLHeli_S ESC
      • DShot ESC
      • DroneCAN ESC
      • PWM, OneShot 및 OneShot125 ESC
    • 거리 측정기
    • 근접 센서
    • 고도 이해
    • 무선 제어 시스템 (Radio)
      • 조종기/수신기
      • RSSI(수신 신호 강도 표시)
    • Telemetry 라디오
      • Mission Planner를 사용하여 Telemetry Radio 구성
      • 다중 Point-to-Point 설정
    • GPS/나침반
    • 컴패니언 컴퓨터
    • 컴패니언 컴퓨터를 이용한 FC 제어
    • 안전
  • Q250 조립 가이드
  • X500 V2 + Pixhawk 6C 조립 가이드
  • ArduPilot-초기 설정
    • ArduPilot 작동의 간단한 개요
    • 프레임 클래스 및 유형 구성
    • 가속도계 교정
    • 나침반 보정
    • 무선 제어 보정
    • ESC와 모터 연결
    • 전자 속도 컨트롤러(ESC) 보정
    • RC 송신기 비행 모드 구성
    • 모터 범위 설정
    • Failsafe (안전 장치)
      • 무선 안전 장치
      • 배터리 안전 장치
      • GCS 안전 장치
      • EKF 안전 장치
      • GPS 페일세이프 및 글리치 보호
      • 데드레커닝(Dead Reckoning) 페일세이프
      • 진동 안전 장치
      • 비회전 모터 이륙 방지
      • 지형 추적(자동, 안내 등) 안전 장치
      • 충돌 확인
      • 낙하산
      • Watch Dog (내부 독립 감시 기능)
    • 비행 모드
  • 수동 비행 기초
  • 첫 비행 및 튜닝
    • Pre-Arm 안전 점검
    • 시동 걸기
    • 비행 전 체크리스트(콥터)
    • 새로운 파일럿을 위한 팁
    • 실내 비행 지침
    • Mission Planner에서 비행 데이터 로그 다운로드 및 분석
    • 텔레메트리 로그 분석
    • ArduPilot-튜닝
      • 튜닝 프로세스 지침
      • 튜닝을 위한 기체 설정
      • 초기 튜닝 비행
      • 항공기 튜닝 평가
      • Roll 및 Pitch의 수동 PID 튜닝
      • 오토튠 (AutoTune)
      • 입력 형성 매개변수 설정
      • 스로틀 부스트
      • 송신기 기반 튜닝
      • 동적 고조파 노치 필터로 자이로 노이즈 관리
      • 스로틀 기반 동적 노치 설정
      • RPM 센서 기반 동적 노치 설정
      • ESC 텔레메트리 기반 고조파 노치 설정
      • FFT 기반 하모닉 노치 설정
      • 진동 측정
      • 호버 스로틀 설정
      • 자동 트림
      • 추력 손실 및 요 불균형 경고
  • 용어 사전
  • 안전 수칙
  • [별첨]ArduPilot 파라메터
Powered by GitBook
On this page
  • AutoTune 모드에서 비행 전 설정
  • AutoTune을 호출하는 방법
  • 위치 유지로 AutoTune 호출
  • AutoTune이 실패하는 경우
  • 추가 참고 사항
  • 일반적인 문제
  • 데이터플래시 로깅
  • 지상 관제소 메시지
  1. 첫 비행 및 튜닝
  2. ArduPilot-튜닝

오토튠 (AutoTune)

저작권: 쿼드(QUAD) 드론연구소 https://smartstore.naver.com/maponarooo

PreviousRoll 및 Pitch의 수동 PID 튜닝Next입력 형성 매개변수 설정

Last updated 1 year ago

AutoTune은 Stabilize P, Rate P 및 D, 최대 회전 가속도를 자동으로 조정하여 심각한 오버슈트 없이 가장 높은 반응을 제공합니다. Copter 는 AutoTune을 사용하기 전에 에서 "기본적으로" 비행할 수 있어야 합니다. 이 기능은 롤 및 피치 축에서 콥터를 "트위치"할 수 있어야 합니다.

경고

AutoTune이 항상 차량에 적합한 조정을 결정할 수 있는 것은 아니며 비행할 수 없는 차량이 충돌할 수 있는 이득을 얻을 수 있습니다. AutoTune을 사용하기 전에 따르십시오 . 이러한 지침을 따르고 한 후 AutoTune을 시도해야 합니다.

AutoTune이 좋은 곡을 제공하지 못하게 하는 다음과 같은 여러 가지 문제가 있습니다.

  • 강풍

  • 높은 수준의 자이로 노이즈

  • 값으로 인한 비선형 ESC 응답

  • 유연한 프레임 또는 페이로드 마운트

  • 지나치게 유연한 방진 마운트

  • 에 대한 매우 낮은 설정

  • 과부하된 프로펠러 또는 모터

AutoTune 모드에서 비행 전 설정

  1. 하나의 비행 모드 스위치 위치를 AltHold로 설정합니다.

  2. RC 채널 스위치 또는 (버전 4.0 이전)를 AutoTune으로 설정하면 a 스위치로 자동 튜닝을 켜거나 끌 수 있습니다.

메모

비행 모드 스위치에서 AUTOTUNE 비행 모드를 모드로 설정하여 AutoTune을 활성화할 수도 있습니다.

  1. 카메라 짐벌 또는 비행 중에 흔들릴 수 있는 프레임의 다른 부분을 제거합니다.

AutoTune을 호출하는 방법

  1. 평온한 날을 기다렸다가 넓은 공터로 가십시오.

  2. 사용하는 경우 ch7 또는 ch8 스위치가 LOW 위치에 있는지 확인하십시오.

  3. 편안한 고도에서 헬리콥터를 이륙하여 AltHold 모드로 전환합니다.

  4. 바람이 부는 방향에서 90도 비틀어지도록 차량을 향하십시오(예: 롤을 먼저 튜닝하는 경우 차량을 바람 쪽으로 향하게 하십시오).

  5. 자동 튜닝을 사용하려면 ch7/ch8 스위치를 HIGH 위치로 설정하거나 AUTOTUNE 모드로 전환하십시오.

    • 몇 분 동안 왼쪽과 오른쪽으로 약 20도 정도 경련한 다음 앞뒤로 반복됩니다.

    • 콥터가 표류하는 경우 언제든지 롤 및 피치 스틱을 사용하여 콥터를 재배치하십시오(재배치 중 및 테스트 사이에 원래 PID 이득을 사용함). 스틱을 놓으면 중단된 위치에서 자동 튜닝을 계속합니다.

    • ch7/ch8 스위치를 LOW 위치로 이동하거나 AUTOTUNE 비행 모드를 사용하는 경우 언제든지 비행 모드를 변경하여 자동 튜닝을 중단하고 원래 PID로 돌아갑니다.

    • 송신기에 트림이 설정되어 있지 않은지 확인하십시오. 그렇지 않으면 자동 튜닝이 스틱이 중앙에 있다는 신호를 받지 못할 수 있습니다.

  6. 조정이 완료되면 콥터는 원래 PID 게인으로 다시 변경됩니다.

  7. 튜닝된 PID 게인을 테스트하기 위해 ch7/ch8 스위치를 LOW 위치에 놓은 다음 HIGH 위치로 되돌립니다. 또는 AUTOTUNE 비행 모드를 사용하는 경우 스위치를 끈 다음 해당 모드로 돌아갑니다.

  8. 원래의 PID 게인을 사용하여 비행하려면 ch7/ch8 스위치를 LOW 위치에 놓거나 AUTOTUNE 비행 모드에서 전환하십시오.

  9. 자동 튜닝된 PID 게인에 만족하는 경우 ch7/ch8 스위치를 HIGH 위치에 두거나 AUTOTUNE 비행 모드로 다시 전환하고 착륙 및 무장 해제하여 PID를 영구적으로 저장하십시오.

    새 PIDS가 마음에 들지 않으면 ch7/ch8을 LOW로 전환하거나 AUTOTUNE 비행 모드를 종료하여 원래 PID로 돌아가십시오. 무장을 해제하면 이득이 저장되지 않습니다.

위치 유지로 AutoTune 호출

경고

아래에 설명된 Loiter 또는 PosHold 대신 위에 설명된 AltHold에서 AutoTune을 호출하면 더 나은 튜닝을 얻을 수 있습니다. AUTOTUNE 비행 모드를 사용하면 이러한 단점도 발생할 수 있습니다.

AutoTune은 Autotune을 수행하는 동안 Loiter 또는 PosHold 비행 모드(AltHold와 반대)에서 호출된 경우 약한 위치 유지를 수행합니다. AUTOTUNE 비행 모드를 사용하는 경우 이 약한 위치 유지도 사용됩니다.

  • 차량은 AutoTune이 호출된 순간 차량의 위치로 초기에 설정된 "목표 지점"을 향해 부드럽게 기울어집니다(최대 10도).

  • 조종사는 롤, 피치, 요 또는 스로틀 스틱을 사용하여 차량의 위치를 ​​변경할 수 있습니다. 목표 위치는 파일럿이 롤 및 피치 스틱을 놓는 순간 차량의 위치로 재설정됩니다.

  • 바람의 방향에 수직으로 트위칭하기 위해 차량은 목표 위치에서 5m(또는 그 이상) 표류하면서 어느 방향으로든 최대 90도까지 갑자기 회전할 수 있습니다.

  • 바람이 거의 또는 전혀 없는 경우 차량의 부드러운 위치 제어는 앞뒤로 움직이며 대상에서 5m 이상 벗어날 때마다 요를 변경하는 대상 지점 주변에서 핑퐁을 할 수 있습니다. 이러한 경우 더 간단한 AltHold 기반 AutoTune을 되돌리는 것이 더 편할 수 있습니다.

AutoTune이 실패하는 경우

AutoTune이 실패하면 수동 조정을 수행해야 합니다.

AutoTune이 성공했다는 몇 가지 징후는 다음과 같습니다(DataFlash 로그 및 Ground Control Station 메시지 제외).

AutoTune은 항공기가 허용할 수 있는 범위 내에서 각 축을 조율하려고 시도합니다. 일부 항공기에서는 불필요하게 반응할 수 있습니다. 대부분의 항공기에 대한 가이드:

이러한 값은 AutoTune이 더 높은 값을 생성하는 경우에만 변경해야 합니다. 소형 곡예비행 항공기는 이 값을 가능한 한 높게 유지하는 것을 선호할 수 있습니다.

추가 참고 사항

  • Copter-3.3(이상)에서 AutoTune은 비행 모드로 설정할 수 있습니다. AutoTune 비행 모드로 전환하거나 해제하는 것은 AutoTune 기능이 할당된 ch7/ch8 보조 스위치를 높이거나 낮추는 것과 같은 방식으로 반응합니다.

  • AutoTune에서 업데이트할 수 있는 매개변수의 전체 목록

  • 최상의 결과를 얻으려면 콥터가 수평 속도를 너무 많이 올리지 않아야 합니다. 이는 테스트 사이에 빠른 수정(트위치)을 적용하여 차량이 너무 빨리 비행하는 것을 방지함으로써 방지할 수 있습니다.

  • AutoTune은 Stabilize에서 작동하므로 AltHold 상태가 되어 절차를 시작할 준비가 될 때까지 AutoTune 스위치를 실수로 뒤집지 마십시오.

  • 일반적으로 Pitch와 Roll의 경우 P와 I는 같아야 하고 D는 P의 1/10이어야 합니다. Yaw의 경우 I는 P의 1/10이어야 하며 대부분의 경우 D = 0입니다.

일반적인 문제

팁

AutoTune 문제를 보고할 때 프레임에 대한 설명과 비행 데이터 플래시 로그를 포함하십시오.

데이터플래시 로깅

지상 관제소 메시지

각 축에는 튜닝에 대한 여러 단계가 있습니다. 속도 PID가 먼저 조정된 다음 ANGLE 매개변수가 조정됩니다. 이 단계 동안의 진행 메시지는 GCS로 전송되고 Dataflash 로그에 기록됩니다.

조정 중 일반적인 순서는 다음과 같습니다.

09:09:33       AutoTune: Twitch
09:09:34       AutoTune: (P) Rate P Up\
09:09:34       AutoTune: WFL (Rate(P)) (15.13040 > 10.00000)
09:09:34       AutoTune: p=0.052298 d=0.005232
09:09:34       AutoTune: success 1/4

이것은 Pitch Rate P 조정 중에 P가 0.052298의 증가된 값에서 시도되고 있으므로 트위치가 발생하려고 함을 나타내지만 먼저 마지막 트위치에서 레벨로 돌아올 때까지 대기합니다(WFL= 레벨 대기). , 그런 다음 이 트위치의 결과가 목표 내에 있고 성공했다고 보고합니다. 그러나 이것은 다음 단계로 넘어가기 전에 연속으로 4번 발생해야 합니다.

메모

튜닝의 YAW 속도 단계 동안 메시지는 일반적으로 0인 ATC_RAT_YAW_D가 아닌 "d"에 대한 값을 표시하지만 변경되는 ATC_RAT_YAW_FLTE 값입니다.

파일럿 스틱의 움직임으로 프로세스가 중단될 때마다

09:09:38       AUTOTUNE: pilot overrides active

메시지가 나타납니다.

AUTOTUNE에 있는 동안 조정을 중지하고 준비를 해제한 경우 축 조정이 완료되면 해당 축에 대해 새 게인이 저장되었음을 나타내는 메시지가 표시됩니다. 이 효과에 대한 메시지가 없지만 적어도 하나의 축을 완료했다고 생각한다면 AUTOTUNE 모드가 아닌 동안 준비를 해제하고 실제로 저장하지 않은 것일 수 있습니다.

09:19:48       AutoTune: Saved gains for Pitch

팁

AUTOTUNE에 있지 않을 때 해제하여 세션 AUTOTUNE 값을 실수로 삭제한 경우 튜닝 중에 보낸 GCS 메시지에 대한 dataflash 로그를 검사하고 벤치에서 수동으로 설정할 수 있습니다.

매개변수를 사용하여 튜닝하려는 축 조합(롤, 피치, 요)을 선택합니다.

매개변수(0.1=적극적, 0.075=중간, 0.050=약함) 를 사용하여 자동 튜닝의 적극성을 설정합니다 . 일반적으로 기본값은 0.1로 시작합니다.

대형 콥터 ( 지름 이 13인치 이상인 소품 )의 경우 속도 롤 및 피치 필터를 10hz로 설정합니다. )

활성화하는 것이 좋습니다.

AutoTune을 수행한 후 Stabilize, AltHold 또는 PosHold(그러나 Loiter, RTL, Auto와 같은 보다 자율적인 모드에서는 괜찮음)를 비행할 때 차량이 지나치게 경련하는 느낌이 든다면 ATC_INPUT_TC 매개변수를 0.25로 늘리 . 이것은 파일럿의 입력을 부드럽게 합니다. 매개변수를 줄이고 (항상 0.05~0.10 범위에 있어야 함) 다시 시도하십시오.

AutoTune 후 차량이 엉성하게 느껴진다면 매개변수를 0.10까지 높이고 자동 튜닝을 다시 시도하십시오.

고도는 고도 유지 컨트롤러로 유지되므로 스틱을 스로틀 중간의 10% 위치에 놓으면 차량이 현재 고도를 유지하려고 시도합니다. 최대 2.5m/s의 속도로 상승 또는 하강합니다(이 속도는 및 매개변수로 조정 가능). 이러한 속도를 설정하는 데 사용되는 가속도는 에 의해 설정됩니다 .

및 값이 증가합니다 .

및 보다 큽니다.

10에서 6으로 줄여야 합니다.

10에서 6으로 줄여야 합니다.

10에서 6으로 감소해야 합니다.

1에서 0.5로 감소해야 합니다.

: x 0.1

하면 튜닝할 축을 제어할 수 있습니다. 이는 차량의 배터리 수명이 3축을 모두 완료할 만큼 충분히 길지 않은 경우에 유용합니다. "1" = 튜닝 롤, "2" = 튜닝 피치, "4" = 튜닝 요. 단일 세션에서 여러 축을 조정하려면 이 숫자를 함께 추가하십시오(예: "7" = 모든 축 조정).

: 0.05~0.10 범위에 있어야 합니다. 값이 높을수록 더 공격적인 튜닝이 생성되지만 때때로 게인이 너무 높아집니다. 보다 구체적으로 이 매개변수는 D-term 바운스 백 및 P-term 오버슈트에 대한 임계값을 제어합니다. 이는 튜닝 노이즈 내성에 영향을 미칩니다(값이 높을수록 프레임의 휘어짐 또는 튜닝 알고리즘을 속일 수 있는 기타 장애에 더 잘 견딥니다). 높은 값은 또한 외부 교란을 더 잘 거부하는 곡으로 이어집니다. 값이 낮을수록 파일럿 입력에 더 잘 반응하는 튜닝이 됩니다.

롤 각도 P 게인

롤 속도 P, I 및 D 이득 , ,

롤 최대 가속도

피치 각도 P 게인

피치 속도 P, I 및 D 이득 , ,

피치 최대 가속도

요 각도 P 게인

요레이트 P, I 게인 , ,

요레이트 필터 , (AC3.6: ATC_RAT_YAW_FLT)

요 최대 가속

롤 및 피치 축 속도 피드포워드가 활성화되었습니다( ).

조정이 잘 된 후에는 0.9(기본값은 0.5)로 높여 스로틀보다 자세 제어의 우선 순위를 높일 수 있습니다. 이렇게 하면 고속 전진 비행을 수행한 후 차량이 갑자기 느려지는 경우 AltHold에서 때때로 나타나는(특히 대형 프로펠러가 있는 콥터에서) 피치 오버슈트를 줄일 수 있습니다. 이 상황에서 바람은 양력을 제공하는 프로펠러 아래에 잡히지만 또한 차량의 자세를 방해하여 스로틀과 자세 제어 사이의 충돌로 이어집니다. 이 매개변수의 값을 증가시킬 때의 위험은 나중에 속도 게인이 너무 높아져 차량이 심하게 진동하면 차량이 하강하기 어려울 수 있다는 것입니다(자세 진동을 수정하는 데 우선순위를 두고 스로틀을 충분히 줄이지 않기 때문입니다).

AutoTune은 특히 SimonK 펌웨어 및/또는 낮은 KV 모터(500KV 미만)를 사용할 때 ESC 동기화 문제를 일으킬 수 있는 모터에 대한 출력의 매우 크고 빠른 변경을 요청할 수 있습니다. 동기화 문제를 재현하는 이 비디오를 참조하십시오 .

AutoTune 모드인데도 차량이 튜닝을 시작하지 않으면(즉, 경련하지 않음) 문제는 롤, 피치, 요 또는 스로틀 스틱이 정확히 중간에 있지 않은 것일 수 있습니다. , , 및 를 50(또는 그 이상)으로 늘려서 RC 입력의 데드존을 늘리는 데 도움이 될 수 있습니다 .

매개변수를 줄이고 (0.05 미만이어야 함) AutoTune을 다시 수행하십시오.

AutoTune이 엉성한 차량을 생성하는 경우 매개변수를 높이고(0.1 이상이어야 함) AutoTune을 다시 수행하십시오.

ATUN(자동 튜닝 개요) 및 ATDE(자동 튜닝 세부 정보) 메시지가 데이터 플래시 로그에 기록됩니다. 해당 메시지 내용에 대한 일부 세부 정보는 에서 찾을 수 있습니다 .

AltHold 모드
튜닝 프로세스 지침을
초기 조정을 평가
잘못된 MOT_THST_EXPO
MOT_SPIN_MIN
보조 기능
보조 기능 스위치
AUTOTUNE_AXES
AUTOTUNE_AGGR
또는
33cm
포함
PIT_FILT
PID 게인의 배터리 전압 스케일링을
십시오
또는 AUTOTUNE_AGGR
AUTOTUNE_AGGR
PILOT_SPEED_UP
PILOT_SPEED_DN
PILOT_ACCEL_Z
ATC_ANG_PIT_P
ATC_ANG_RLL_P
ATC_RAT_PIT_D
ATC_RAT_RLL_D 는
AUTOTUNE_MIN_D
ATC_ANG_PIT_P를
ATC_ANG_RLL_P를
ATC_ANG_YAW_P가
ATC_RAT_YAW_P가
ATC_RAT_YAW_I
ATC_RAT_YAW_P
AUTOTUNE_AXES를 사용
AUTOTUNE_AGGR
ATC_ANG_RLL_P
ATC_RAT_RLL_P
ATC_RAT_RLL_I
ATC_RAT_RLL_D
ATC_ACCEL_R_MAX
ATC_ANG_PIT_P
ATC_RAT_PIT_P
ATC_RAT_PIT_I
ATC_RAT_PIT_D
ATC_ACCEL_P_MAX
ATC_ANG_YAW_P
ATC_RAT_YAW_P
ATC_RAT_YAW_I
ATC_RAT_YAW_D
ATC_RAT_YAW_FLTT
ATC_RAT_YAW_FLTE
ATC_ACCEL_Y_MAX
ATC_RATE_FF_ENAB
ATC_THR_MIX_MAX를
테스트를 보여주는
RC1_DZ
RC2_DZ
RC3_DZ
RC4_DZ
AutoTune이 지나치게 떨리는 차량을 생성하는 경우 AUTOTUNE_AGGR
AUTOTUNE_AGGR
Mission Planner 위키 페이지에서 데이터 로그 다운로드 및 분석