G튜닝 사용법 (G-Tune instructions)
이 알고리듬은 원래 Mohammad Hefny (mohammad.hefny@gmail.com)씨가 개발한 것입니다.
http://technicaladventure.blogspot.com/2014/06/zero-pids-tuner-for-multirotors.html
http://diydrones.com/profiles/blogs/zero-pid-tunes-for-multirotors-part-2
http://www.multiwii.com/forum/viewtopic.php?f=8&t=5190
Cleanflight 에 들어 있는 G-Tune 기능은 Harakiri 펌웨어에서 가져온 것입니다.
안전상 주의 : 각자의 책임임
여기에 구현된 내용은 상당히 다르며, 아크로(Acro)모드에서 ROLL/PITCH/YAW의 P 값만을 조정하기 위한 목적입니다. 아크로모드로 비행할 때(다름모드에서는 yaw tune이 가능함 - 아래를 볼 것) 콥터가 시동이 걸려있는 동안, AUX 박스(스위치)를 사용하여 G-Tune을 활성화시킬 수 있습니다.
미리 정의된 범위(아래를 볼것)에서 원하는/가능한 축(아래를 볼 것)을 튜닝하기 시작할 것입니다.
활성화된 후, 아마 아무런 변화도 보지 못할 것입니다. 즉, G-Tune은 콥터를 흔들기 시작하는 게 아니라, 직접 흔들어야 합니다.(아니면 그냥 날리면 작동합니다.)
G_Tune은 자이로 오류에 기반이므로, RC 입력을 넣지 않았을때(입력을 넣는다는 것은 또다른 오류)만 활성화됩니다. 따라서, roll만 입력하면 pitch와 yaw 가 튜닝됩니다. rolling을 멈추면 G-Tune 이 대략 450 ms 동안 축이 안정되기 기다렸다가 해당 축을 다시 튜닝하기 시작합니다. 각 축은 독립적으로 취급됩니다.
모든 축을 한꺼번에 튜닝하는 가장 좋은 방법은 아크로 모드에서 (RC는 중심에, G_Tune은 활성화 된 상태로) 콥터를 공중점프(air-jump) 시키는 것입니다.
설정프로그램 GUI에서 기본값으로 축들의 P값을 너무 높게 설정하면, 콥터가 불안정하게 흔들기는게 감지되고, P 값이 하향 Tuning 됩니다. (하지만, 강도 설정시 주의해야 함 - 아래를 볼 것)
(트라이콥터와 같이) 모터가 3개 이하인 콥터에서는 Yaw 튜닝이 비활성화됩니다.
수평(Horizon or Level) 모드에서 G-Tune은 Yaw 축에만 영향을 미칩니다. (모터가 3개 이상일 경우)
결과는 GUI에서 볼 수 있습니다. 콥터가 시동해제된 상태에서 G-Tune을 활성화시키는 경우에만 튜닝 결과가 저장되며, 시동을 걸면 전에 사용한 G-Tune이 사용됩니다???(G-Tune was used before when armed). 다른 방법으로 설정을 저장하는 방법도 있습니다.(GUI에서 save 버튼능 누르거나, 트리밍과 함께 eepromwrite를 시행하거나, ACC 교정 등)
TPA와 G_Tune : 테스트되지 않았으며, 아마도 좋은 결과가 나오지 않을 것으로 예상됩니다. 하지만, G_Tune을 TPA 를 대신하여 사용할 수 있을 것입니다.
일반적으로 다음의 순서를 따릅니다.
- 시동
- G-tune 활성화
- 천천히 상승. (Roll, Pitch / Yaw)은 건드리지 말것.
- 결국 콥터는 잘 날것임. 아마도 throttle을 살짝 툭 밀면 약간 날 것임. 툭 밀때마다 진동이 줄어들어 부드러워지고, 전반적인 비행성능이 좋아짐을 유의해서 볼 것.
- G-tune 비활성화
- 착륙
- 시동해제. 단 전원을 끄지는 말것
- 원하는 결과를 얻었다면 a) Cleanflight GUI를 접속하여 검토후 설정을 저장 b) G-Tune 을 다시 활성화하여 설정을 저장
- 전원끔
결과가 만족스럽지 않다면 아래에 보이는 변수들을 변경시켜보고 다시 시도합니다.
다른 주의할 점 및 상세 설명은 아래 글들을 참고하세요.
http://www.rcgroups.com/forums/showpost.php?p=31321635&postcount=6160
http://www.rcgroups.com/forums/showpost.php?p=31525114&postcount=7150
관련 변수 및 기능(Parameters and their function)
gtune_loP_rll = 10 [0..200] G-Tune 중 Roll P 값의 하한선 10은 GUI에서 1.0 임 gtune_loP_ptch = 10 [0..200] G-Tune 중 pitch P 값의 하한선 10은 GUI에서 1.0 임 gtune_loP_yw = 10 [0..200] G-Tune 중 yaw P 값의 하한선 10은 GUI에서 1.0 임 gtune_hiP_rll = 100 [0..200] G_Tune 중 Roll P 값의 상한선. 0은 해당 축은 튜닝하지 않겠다는 뜻. "100" 은 GUI에서 10.0 임 gtune_hiP_ptch = 100 [0..200] G_Tune 중 Pitch P 값의 상한선. 0은 해당 축은 튜닝하지 않겠다는 뜻. "100" 은 GUI에서 10.0 임 gtune_hiP_yw = 100 [0..200] G_Tune 중 Yaw P 값의 상한선. 0은 해당 축은 튜닝하지 않겠다는 뜻. "100" 은 GUI에서 10.0 임 gtune_pwr = 0 [0..10] 조정 강도(Strength of adjustment) gtune_settle_time = 450 [200..1000] 안정화 시간 (ms) gtune_average_cycles = 16 [8..128] 자이로 평균 계산시 사용되는 looptime cycles의 수
따라서, 모든 축의 P에 대해 하한선 및 상한선이 존재합니다. 미리 정해진 범위(GUI: 1.0 - 10.0)는 대부분의 설정을 대표하는 상당히 넓은 범위입니다.???
좀더 빡빡한 또는 느슨한 범위가 좋다면 여기에서 변경합니다. gtune_loP_XXX는 10 이하(GUI에서 1.0)로 설정할 수 있습니다. Zero P로 둘 수 있지만, 처음에 상당히 느릿느릿 반응하는 걸 보실 것입니다.
어떤 한 축을 튜닝하고 싶지 않다면, gtune_hiP_XXX를 0 로 두셔야 합니다. 예를 들어 yaw 튜닝을 비활성화 하고 싶다면, CLI에서 [set gtune_hiP_yw = 0] 라고 씁니다. 참고 : MultiWii Wiki서는, yaw 축에 대한 트림은 송신기에서 하는 것을 추천합니다. 만약에 그렇게 한다면 (yaw가 RC에서 중앙이 아님) yaw 튜닝을 비활성화해야 합니다.
튜닝 강도는 [set gtune_pwr = N]으로 조정할 수 있습니다. 저의 작은 콥터는 0 으로 잘 동작하고 "3"은 싫어합니다. 제 큰 콥터는 "gtune_pwr = 5"를 좋아합니다. It shifts the tuning to higher values and if too high can diminish the wobble blocking! 튜닝결과 P 값이 원하는 것보다 낮을 경우, gtune_pwr를 올립닏. 하지만, 이 값이 너무 높으면 약간 불안정해 집니다.
====
원문 : https://github.com/cleanflight/cleanflight/blob/master/docs/Gtune.md
이전글 : 제어(Controls)