• 카테고리

    질문 & 답변
  • 세부 분야

    임베디드 · IoT

  • 해결 여부

    미해결

드론 PID제어

24.04.29 15:27 작성 조회수 88

0

S500 쿼드콥터 드론 PDB 에디션 Kit - 카본 랜딩기어 포함 - 프레임

[RTS] S2312-920KV Motor for F450/F550/S500/TBS500 Multicopter(CCW/HP/V3) - 모터(반시계)

[RTS] S2312-920KV Motor for F450/F550/S500/TBS500 Multicopter(CW/HP/V3) - 모터(시계)

[GT-Drone] EC-X3 ESC for Multicopters (30A/OPTO/COB/6S) - ESC

[TR] 9x4.5 자동 잠금 프로펠라 (DJI/Universal Type) - White - 프로펠러

이 부품들과 배터리만 5000mAh를 사용하고 나머지는 강의에 나와있는 부품을 그대로 사용해서 사이즈가 큰 드론을 한 번 만들어 보고 있습니다. 그런데 수동비행을 하기위한 PID제어 값을 구하고 시험비행 하는게 위험해서 힘들더라고요 ㅜㅜ 선생님 저 부품들을 사용할 땐 PID값을 어떤 값을 써야 하는지 알고 계신가요? PID제어 부분이 막혀서 도움을 요청드립니다.

답변 1

답변을 작성해보세요.

0

안녕하세요!

저번에 큰 사이즈로 개발한다고 하셨던 분인가보네요~

아쉽지만 부품의 모델명만 가지고는 PID 게인을 알 수는 없습니다.

큰 사이즈 드론일수록 사고 위험도 커지고, 사고가 한번 나면 대형사고가 발생하기 때문에 큰 기체는 실외에서 비행테스트를 하셔야 하는데요, 그래서 적정 PID 게인을 구하는게 더 어렵습니다.

더블 PID의 경우 파라미터가 6개나 되는데, 이걸 하나씩 다 구하려면 시간이 오래걸리기 때문에 (경험적으로)빠르게 구하기 위한 순서를 알려드리면,

  1. 외부P-내부PD 제어만으로도 비행이 가능하므로, 그 외의 나머지 게인은 모두 0으로 설정합니다.

  2. 외부P 게인을 1로 두면, 각도 에러가 바로 내부PID 제어기의 목표 각속도가 됩니다. 예를 들어, 각도 에러가 10도라면 목표 각속도가 10deg/s이 되겠죠.

  3. 우선 내부P 게인을 1로 두고 내부D 게인을 0으로 두고 비행테스트를 시작합니다. 지금 상태에서는 거의 제어 효과가 나타나지 않을겁니다.

  4. 제어의 효과가 나타날때까지 내부P 게인을 조금씩 높이면서 테스트를 반복합니다.

  5. 어느정도 반응이 나타나면, 내부D 게인을 추가합니다. 내부D 게인을 조금씩 높이면서 테스트를 반복합니다.

이 정도로 반복하면 비행이 가능한 수준까지 도달할 수 있을겁니다. 비행에 성공하셨으면 나머지 게인들도 조금씩 추가하면서 비행의 안정성을 높이시면 됩니다.

테스트 할때는 안전에 반드시 유의하시기 바라고, 반드시 모든 fail-safe 기능을 활성화 하시고, 위급상황 시 바로 모터를 끄시기 바랍니다.

반드시 사람이 없는, 비행이 허용된 구역에서 테스트 하셔야 합니다. 자칫 사고가 발생하면 큰 인명피해가 발생할 수 있으니 꼭 안전을 최우선으로 두고 테스트하세요.

그럼 꼭 비행에 성공하시기 바라며, 성공하면 영상도 공유부탁드리겠습니다!

감사합니다.