장애물 회피 방안의 설계에서는 드론이 시작점에서 목표점까지 날아갈 것으로 예상하고, 다양한 센서를 통해 드론의 현재 위치 좌표를 계속 획득하고, 드론의 위치에 따라 드론의 자세를 조절하여 결국 목적지에 도달해야 한다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 도전명언) 쿼드 로터 드론은 6 개의 자유도로 비행할 수 있으며, 성능이 유연하고 이동이 빠르다. 경로의 장애물도 전방이 아니라 사방팔방에서 나오기 때문에 드론이 장애물을 탐지하고 안전 경로를 계획하는 것이 더 어렵다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 안전명언) 알고리즘의 실험 검증을 용이하게 하고 장애물 탐지의 방향성을 줄이기 위해 이 글에서는 쿼드 로터 드론이 일정한 높이로 제어되는 장애물 회피 비행 실험, 즉 쿼드 로터 드론이 원하는 고도에서 비행하는 것을 목표로 하고 있다. 사전 탐지 장치를 통해 장애물을 탐지하고 알고리즘을 통해 쿼드 로터 드론 앞의 장애물을 피하여 3 차원 공간의 장애물을 2 차원 평면의 장애물 회피 비행으로 변환합니다. 이 장에서는 주로 quadrotor UAV 의 높이 계산과 자세 계산을 분석한 다음 PID 제어 방법을 통해 quadrotor UAV 의 컨트롤러를 복원합니다.
고정고비행은 드론이 리모컨의 비행 지시를 받아들이지 않을 때, 조종판이 드론의 친구를 자동으로 조종해 드론의 비행 높이를 일정하게 유지하는 것을 말한다. 드론의 리프트는 자신의 중력과 같다. 고정 높이 모드에서는 리모콘의 스로틀 입력이 더 이상 드론의 높이를 제어할 수 없지만, 드론의 피치, 요 및 롤 모션을 제어할 수 있습니다. 즉, 아무도 원하는 높이 평면 내에서 자유롭게 이동할 수 없습니다. 몇 가지 일반적으로 사용되는 드론 높이 정보는 다음과 같이 배열됩니다.
절대 높이: 현재 위치와 평균 해수면 사이의 수직 거리 (고도라고도 함).
상대 높이: 두 측정 위치의 절대 높이 차이를 나타냅니다.
진높이: 드론이 비행하는 동안 지면에서 날아가는 실제 높이는 기하학적 높이라고도 하는 진높이입니다.
보완 필터링에 기반한 정보 융합.
쿼드 로터 드론의 높이와 자세 계산에는 정보 융합이라고도 하는 데이터 융합이 필요합니다. 여러 센서의 정보를 처리하여 보다 포괄적이고 신뢰할 수 있는 결론을 도출합니다. 이 섹션에서는 데이터 융합을 위해 보완 필터를 사용하며, 다중 센서 정보 융합은 높이 및 자세 정보를 계산합니다. 보완 필터링은 융합 신호의 간섭 소음이 서로 다른 주파수에 있어야 합니다. 두 필터의 차단 빈도를 설정하여 융합된 신호가 원하는 주파수를 덮을 수 있도록 하고, 예측-수정을 통해 두 정보 소스를 융합합니다. 일반적으로 한 소스를 예측한 다음 다른 정보로 수정합니다.
2. 1 보완 필터를 기반으로 한 높이 계산
높이 제어는 드론의 높이 정보를 얻어야 한다. 대부분의 경우 비행 제어의 높이 정보는 비행 제어 내부의 기압계가 제공하며 기압계는 절대 높이를 측정합니다. 측정 공식은 다음과 같습니다.
따라서 기압계 높이 측정은 다음과 같이 표현할 수 있습니다.
기압계가 측정한 높이는 실제 높이에 측정 오차를 더한 높이와 같습니다.
실제 비행 대시보드에서 기압계 데이터를 계산할 때 여러 번 데이터를 수집하여 평균을 계산한 후 계산하지만, 단일 센서가 제공하는 정보는 실제 비행의 요구 사항을 충족하지 못하는 것 같습니다. 기압계에는 무시할 수 없는 결함이 있습니다.
(1) 기압계를 측정할 때 소음 간섭이 커서 데이터가 충분히 부드럽지 않습니다.
(2) 기압계로 측정 된 데이터는 표류한다.
(3) 실험에 따르면 기압계 측정은 온도와 기류 간섭이 심하여 저온과 강한 기류 환경에서 기압계가 정확한 수치를 측정할 수 없는 것으로 나타났다.
가속도계도 비행 제어기의 위치 정보를 얻을 수 있다. 비행 제어기가 가속도계를 통해 현재 가속도를 얻으면 적분을 통해 수직 속도 정보를 얻을 수 있으며 적분을 통해 다음과 같은 높이 정보를 얻을 수 있습니다.
그러나 가속도계에도 고유 한 결함이 있습니다. 여러 번 적분하면 결과의 누적 오차가 발생하고 가속도계의 순간 측정 오차가 더 커질 수 있습니다.
분명히 기압계나 가속도계에만 의존하여 정확한 고도 정보 피드백을 실제 제어에 제공하는 것은 불가능하므로, 우리는 다른 센서와 기압계의 데이터와의 데이터 융합 처리를 고려해서 양호하고 정확한 고도 정보를 얻어야 한다.
보완 필터 알고리즘은 기압계와 가속도계가 측정한 높이 정보를 가중치에 따라 융합하여 높이 정보를 결산하는 것이다. 고통필터를 사용하여 가속도를 세밀하게 처리하고 저통필터를 사용하여 기압계 정보를 처리합니다. 여기서 가속도계는 수직 방향의 가속도를 날고 수직 속도 정보를 통합할 수 있습니다. 전체 알고리즘의 핵심 아이디어는 지리 좌표계에서 가속도를 통합하여 속도와 위치 정보를 얻는 것입니다. 두 번의 교정을 거친 후에도 여전히 사용할 수 있는 정보가 교정되었다. 처음으로 이충센서는 보정 계수를 계산하여 가속도를 보정하고, 두 번째는 보정 계수를 통해 위치를 교정합니다. 마지막으로 가속도를 사용하여 사용 가능한 속도를 수정하고 가속도와 위치를 사용하여 사용 가능한 위치를 수정합니다. 가속도 보정 프로세스는 편차를 빼서 기체가 측정한 가속도를 지리 좌표계로 변환하는 것입니다.
기압계의 주요 작용은 보정 계수를 계산하여 가속 간격띄우기를 수정하는 것이다. 데이터 융합 프로세스는 다음과 같습니다.
가속도계는 드론의 가속도를 측정하고 기체 좌표계에 측정을 하기 때문에 회전 매트릭스를 사용하여 가속도 값을 지면 참조 좌표계의 가속도로 변환해야 합니다. 구체적인 융합 정보의 실현 과정은 다음과 같다.
(2) 회전 행렬을 통해 가속도계가 측정한 가속도를 지면 참조 좌표계로 변환합니다. 변환 전에 가속도계의 불균형을 제거해야 합니다. 지리 좌표계의 z 축 가속도에는 중력 가속도가 포함되므로 중력 가속도를 보정해야 합니다.
(3) 가속도계를 교정하는 데 필요한 기압계의 교정 계수를 계산합니다. 구체적인 공식은 다음과 같습니다
(4) 얻은 기압계 보정 계수를 사용하여 가속도계의 오프셋 벡터를 계산합니다. -응?
(5) 가속 오프셋 벡터를 기체 좌표계로 다시 변환하고, 변환된 가속도를 통합하고, 융합된 속도 정보를 얻고, 속도 정보를 통합하고, 최종 높이 추정치를 얻고, 마지막으로 기압계 보정 계수를 두 번째로 수정합니다.
Matlab 소프트웨어를 통해 비행 데이터를 수집하고 시뮬레이션하면 결과가 그림과 같습니다. 융합된 높이는 가속도계와 기압계만으로 측정한 높이보다 더 정확하다는 것을 알 수 있다.
2.2 보완 필터링에 기반한 자세 계산
비행 원리에서 알 수 있듯이 드론 비행 중 최종 제어는 자세 제어로 돌아가야 하며, 특정 오일러 각도 조정을 통해 드론의 비행 자세를 제어할 수 있다. 드론의 E 자세 제어를 완료하려면 드론의 현재 자세를 수집한 다음 제어 알고리즘을 통해 드론의 현재 자세를 원하는 자세로 조정해야 합니다. 자세 수집은 주로 비행 제어의 관성 측정 단위 IMU 에 의존하며, 자세 계산의 정확도는 드론 비행 위치의 정확도와 직접적인 관련이 있습니다.
비행 중에 팽이는 드론의 각속도를 측정하여 동적 성능이 높다. 각속도 대 시간 적분은 세 개의 오일러 각도를 얻을 수 있다. 팽이 데이터는 적분 과정에서 누적 오차를 형성하고 누적 오차는 시간이 지날수록 커지므로 단시간 내에 팽이의 측정치가 더 안정적입니다. 자력계는 현재 자기장 분포, 즉 드론과 자기장의 각도, 즉 편항각을 주로 측정한다. 그러나 자력계는 주변 자기장의 간섭이 심하여 실제 측정 오차가 크다. 가속도계는 이전에 이미 소개했으니 군더더기는 하지 않겠습니다.
세 센서의 특성은 주파수 영역에서 상호 보완적이므로 이 문서에서는 상호 보완 필터를 사용하여 세 센서의 데이터를 통합하는 것을 고려합니다. 실제로 가속도계와 자력계가 융합된 후 팽이의 자세 정보가 보정되어 측정 정확도와 시스템의 동적 성능을 향상시킵니다.
세 센서의 데이터 융합 과정은 그림과 같습니다. 팽이는 고통과 필터를 통해 저주파 소음을 제거하고, 가속도계와 자력계는 저통과 필터를 통해 고주파 소음을 제거한다.
회전 행렬을 사용하여 세 개의 센서에서 측정한 오일러 각도를 쿼터니언 형식으로 변환하여 자기장의 참조 방향을 계산합니다.
중력 구성요소 v 및 자기장 구성요소 w 계산:
가속도 및 자력계, 중력 구성요소 및 자기장 구성요소의 값을 사용하여 오류를 계산합니다.
이전 단계에서 얻은 오차에 대해 비례 적분 처리를 한 다음, 얻은 값으로 팽이의 제로 표류 현상을 보정하고, 마지막으로 해석을 통해 현재 자세 정보를 얻습니다.
비행 데이터를 수집하고 필터링한 결과는 그림 5.4 피치 각도, 그림 5.5 롤 각도 및 그림 5.6 요 각도에 나와 있습니다.
3.PID 컨트롤러 설계
드론 고정높이 비행에는 주로 두 가지 상황이 있다. 하나는 수동으로 고정고 모드를 조절하는 것이고, 드론 비행 제어는 여전히 리모콘의 명령어 신호를 수신하고 실행한다. 또 다른 하나는 드론이 자율적으로 비행할 때 (예: 항로점 비행이나 기내 모드), 드론을 설정하여 리모컨의 지시에 의존하지 않고 특정 높이에서 사전 설정된 비행 임무를 수행하도록 하는 것이다. 이 기사에서는 두 번째 높이 설정 모드를 연구합니다.
위치 제어의 맥락에서 이 문서의 계단식 쌍환 PID 제어 시스템은 장애물 회피 시스템을 위해 특별히 설계되어 있어 쿼드가 호버링할 때 대상 위치에 정확하게 도달하고 쿼드의 안정성을 유지할 수 있도록 합니다. 전체 이중 루프 제어 시스템은 내부 루프 제어 (자세 제어) 와 외부 루프 제어 (위치 제어) 의 두 부분으로 나뉩니다. 여기서 외부 루프 제어는 주로 고정 높이 제어 부분을 연구합니다.
3. 1 PID 제어 원리
PID 컨트롤러는 제어 이론에서 가장 고전적인 제어 알고리즘입니다. PID 알고리즘은 간단하고 신뢰성이 높으며 프로세스 제어 및 모션 제어에 널리 사용됩니다. PID 제어는 주로 비율, 적분, 미분의 세 부분으로 구성됩니다. 이 세 가지 링크를 통해 입력 값과 출력 값의 차이를 각각 비율, 적분, 미분으로 계산하고 제어 결과를 제어 대상으로 전송하여 시스템을 제어할 수 있습니다. 폐쇄 루프 PID 제어 시스템의 회로도는 그림과 같습니다.
PID 의 세 부분 중 비례 P 의 역할은 오차의 비율을 직접 출력으로 하여 시스템의 응답 속도를 높이고 시스템의 조정 정확도를 높이는 것입니다. 그러나 비율이 클수록 오브젝트의 출력 변동이 커지고 비율이 작을수록 오브젝트의 출력 변환이 느려집니다. 적분은 이전 오류 값과 시간의 비율을 출력으로 누적하는 데 사용되며, 적분 링크 I 는 주로 객체 출력이 안정될 때 정상 상태 오류를 제거하는 데 사용되지만 적분 포화가 발생합니다. 미분환 D 비례 출력 오차는 시간의 기울기에 따라 시스템의 동적 성능을 향상시키며, 주로 개체의 상승 시간을 단축하고 응답 속도를 높이며 미리 조절하는 기능을 제공합니다. PID 제어기를 사용하는 동안 PID 컨트롤을 사용하거나 P, PI, PD 등의 컨트롤을 단독으로 사용할 수 있습니다. 사용 절차는 다음과 같습니다
3.2 캐스케이드 PID 컨트롤러 설계
이 문서에서는 장애물 회피 연구를 2D 평면으로 단순화하고 전체 위치 제어를 고정 높이 제어와 평면 위치 제어의 두 부분으로 나눕니다. 그 중 비행기의 위치 제어는 항공기 위치가 공수 장비에 의해 전송된 다음 비행 제어에 의해 수행된다는 것이다.
(1) 높이 컨트롤러
높이 정보는 3D 위치의 수직 방향 정보이므로 드론의 실제 비행 제어에서 높이 제어는 위치 제어의 일부이며 높이 제어기에 대한 흐름도는 다음 그림과 같이 요약할 수 있습니다.
(2) 자세 제어기
4. 이 문서 요약
주로 장애물 회피 과정에서 관련 자세 및 위치 높이를 제어하는 설계 과정을 소개합니다. 좋은 제어 효과를 얻으려면 먼저 계산이 정확해야 하고, 고급 비행 제어로 휴대하는 센서에 고유 결함이 있는 경우 보완 필터 알고리즘을 통해 센서 데이터를 융합하고, 가속도계와 기압을 융합하여 드론의 실제 높이를 계산합니다. 융합 가속도계, 자력계 및 팽이 데이터를 통해 드론의 현재 자세 정보를 계산합니다. 마지막으로 PID 제어 알고리즘을 사용하여 직렬 PID 높이 컨트롤러와 직렬 PID 자세 제어기를 설계했습니다.