🛩️
[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
  • Ground Station에서 실시간 보기
  • Vibe Dataflash 로그 메시지
  • "The Leans"를 찾습니다.
  • FFT를 사용한 고급 분석
  • IMU Dataflash 로그 메시지
  1. 첫 비행 및 튜닝
  2. ArduPilot-튜닝

진동 측정

PreviousFFT 기반 하모닉 노치 설정Next호버 스로틀 설정

Last updated 1 year ago

자동 조종 장치에는 진동에 민감한 가속도계가 있습니다. 이러한 가속도계 값은 기압계 및 GPS 데이터와 결합되어 차량의 위치를 ​​추정합니다. 과도한 진동이 있는 경우 정확한 포지셔닝에 의존하는 모드(예: Copter: AltHold, Loiter, RTL, Guided, Position 및 자동 비행 모드)에서 예측이 실패하고 매우 나쁜 성능으로 이어질 수 있습니다.

이 지침은 진동 수준을 측정하는 방법을 설명합니다. 허용 범위를 벗어난 경우 페이지에 있는 조언을 따르십시오.

Ground Station에서 실시간 보기

Ground Station은 진동 및 클리핑에 대한 실시간 보기를 표시할 수 있습니다. Mission Planner를 사용하는 경우 HUD에서 "Vibe"를 클릭하면 현재 진동 수준이 표시됩니다.

30m/s/s 미만의 진동 수준은 일반적으로 허용됩니다. 30m/s/s 이상의 레벨에는 문제가 있을 수 있으며 60m/s/s 이상의 레벨에서는 거의 항상 위치 또는 고도 유지에 문제가 있습니다.

Vibe Dataflash 로그 메시지

녹음된 바이브 레벨이 대부분 30m/s/s 미만인지 확인하십시오.

  • Mission Planner 또는 기타 지상국을 사용하여 VIBE 메시지의 VibeX, VibeY 및 VibeZ 값을 그래프로 표시합니다. 기본 가속도계 출력의 표준 편차를 m/s/s로 표시합니다. 3DR IRIS에서 가져온 아래 이미지는 15m/s/s 미만이지만 때때로 최고 30m/s/s인 정상 수준을 보여줍니다. 최대 허용 값은 30m/s/s 미만으로 나타납니다(아래 두 번째 그림 참조).

이것은 높은 진동으로 인해 위치 추정 문제가 있었던 차량의 예입니다.

  • 기본 IMU에서 원시 x, y 및 z 가속도계 값 캡처

  • 5hz에서 원시 값을 하이패스 필터하여 차량의 움직임을 제거하고 x,y 및 z축에 대한 "accel_vibe_floor"를 생성합니다.

  • 최신 가속 값과 accel_vibe_floor 간의 차이를 계산합니다.

  • 위의 차이를 제곱하고 2hz에서 필터링한 다음 제곱근(x, y 및 z에 대해)을 계산합니다. 이 마지막 세 값은 VIBE 메시지의 VibeX, Y 및 Z 필드에 나타나는 값입니다.

통나무의 진동을 볼 때 가장 먼저 살펴봐야 할 것은 클리핑입니다. 클리핑이 0이면 좋은 것입니다. 즉, 감지되는 진동이 IMU를 압도하지 않습니다.

진동 문제를 해결할 때 문제를 찾기 위한 출발점으로 진동 축을 고려하십시오.

X와 Y가 모두 높으면 모터 베어링이나 프롭 균형에 문제가 있을 수 있습니다. 또는 FC에 더 많은/더 나은 전체 진동 감쇠가 필요할 수 있습니다. X OR Y가 높으면 FC 마운팅에 문제가 있을 수 있습니다. 와이어가 FC에서 튀거나 억제하고 있을 수 있습니다. 또는 진동 감쇠가 한 축에서 다른 축보다 더 잘 작동할 수도 있습니다. Z 진동이 있는 경우 프로펠러(날이 구부러짐) 또는 모터의 수직 유격에 트랙 문제가 있을 수 있습니다.

또한 일부 비행 조건/기체에 따라 자연 진동이 다를 수 있음을 고려하십시오. 호버링 시 진동이 양호해 보이지만 속도에 따라 증가하는 경우 기체 또는 바람에 공기역학적 문제가 있을 수 있습니다.

"The Leans"를 찾습니다.

기울기는 조종사가 수평 비행을 명령하고 있음에도 불구하고 차량의 자세 추정이 부정확하여 크게 기울어질 때 발생합니다. 문제의 원인은 종종 각 추정 시스템(예: 각 AHRS 또는 EKF)의 롤 및 피치 자세 추정을 비교하여 확인할 수 있는 가속도계 앨리어싱입니다. 태도 추정치는 서로 몇 도 이내여야 합니다.

  • 데이터 플래시 로그를 다운로드하고 지상국의 로그 뷰어에서 엽니다.

  • EKF2를 사용하는 경우 AHRS2.Roll, NKF1[0].Roll 및 NKF1[1].Roll을 비교하고, EKF3을 사용하는 경우 AHRS2.Roll, XKF1[0].Roll 및 XKF1[1].Roll을 비교합니다.

아래 이미지는 태도가 잘 일치하는 일반적인 로그를 보여줍니다.

FFT를 사용한 고급 분석

IMU Dataflash 로그 메시지

Vibe 메시지를 포함하지 않는 아주 오래된 버전의 ArduPilot의 경우 IMU 값을 직접 확인할 수 있습니다.

  • Stabilize 모드에서 콥터를 조종하고 수평 호버링을 유지하십시오(완벽하게 안정되거나 수평일 필요는 없음).

  • 로그 브라우저가 나타나면 IMU 메시지를 찾을 때까지 아래로 스크롤합니다. 행의 AccX를 클릭하고 이 데이터 그래프 왼쪽 버튼을 누릅니다. AccY 및 AccZ 열에 대해 반복하여 아래와 같은 그래프를 생성합니다.

  • 위의 모든 작업이 완료된 후 Mission Planner의 표준 매개변수 페이지로 이동하여( 연결 버튼을 다시 눌러야 할 수 있음) Log Bitmask를 다시 "Default"로 설정합니다. 이는 특히 APM 로깅에서 상당한 CPU 리소스가 필요하고 실제로 필요하지 않은 경우 이를 로깅하는 것은 낭비이기 때문에 중요합니다.

최소한 몇 분 동안 정기적인 비행(예: 부드러운 호버링이 아님)을 수행하고 .

가속도계 중 하나가 최대 한계(16G)에 도달할 때마다 증가하는 Clip0, Clip1 및 Clip2 값을 그래프로 표시합니다. 이상적으로는 전체 비행에 대해 0이어야 하지만 낮은 숫자(<100)는 특히 경착륙 중에 발생하는 경우 괜찮을 수 있습니다. 심각한 진동 문제를 나타냅니다 .

메서드 에서 볼 수 있지만 간단히 말해서 다음과 같이 가속도계 판독값의 표준 편차를 계산하는 것과 관련됩니다.

대량의 IMU 데이터를 수집하고 FFT 분석을 수행하여 진동이 가장 많은 주파수를 결정하는 방법에 대한 지침은 페이지를 참조하십시오 .

매개변수가 IMU 데이터를 포함하도록 설정되어 가속도계 값이 dataflash 로그에 기록되는지 확인하십시오.

다운로드가 완료된 후 Mission Planner의 "Review a Log" 버튼을 사용하여 로그 디렉토리에서 최신 파일을 엽니다(마지막 숫자는 다운로드한 로그 번호이므로 위의 예에서 Log #를 다운로드했습니다. 1이므로 파일 이름은 1.log로 끝납니다.)

왼쪽의 눈금을 확인하고 AccX 및 AccY의 진동 수준이 -3에서 +3 사이인지 확인하십시오. AccZ의 경우 허용되는 범위는 -15에서 -5까지입니다. 매우 가깝거나 이러한 제한을 초과하는 경우 가능한 솔루션에 대해 페이지를 다시 참조해야 합니다.

데이터플래시 로그를 다운로드합니다
로그를 통해 정기적으로 증가하는 숫자는 수정해야 하는
진동 수준을 계산하는 알고리즘은 AP_InertialSensor.cpp의 calc_vibration_and_clipping()
IMU 배치 샘플러로 진동 측정
LOG_BITMASK
dataflash 로그를 다운로드하고
Vibration Damping
진동 감쇠