logo

한국어

ArduCopter Stabilize Mode

관리자 2016.09.27 16:21 조회 수 : 313


Stabilize 모드는 사용자에게 기체의 수동 조작을 허용하지만 roll과 pitch축의 수평 자세를 스스로 유지합니다.

개요

• 조종자의 roll과 pitch의 조작이 콥터의 기울기를 제어합니다. 조종자가 roll과 pitch 키를 놓으면 기체는 스스로 수평을 유지합니다.(자세유지)
• 바람에 의해 기체가 밀려 돌아다닐 때 위치를 지키기 위해 조종자는 보통 roll과 pitch를 조작할 필요가 있습니다.
• 조종자가 보내는 yaw조작 신호는 기체의 정면 방향을 제어합니다. 조종자가 yaw조작을 멈추면 기체는 역시 현제의 정면 방향을 유지합니다.
• 기체가 고도를 유지 하는 것은 조종자의 throttle 조작이 통제합니다. 현제 고도를 유지하기위해 필요한 일정 정도의 throttle 조작이 모터의 평균 속도를 조절하고 고도가 유지되는 것입니다. 만약 조종자가 throttle 스틱을 완전히 내리면 모터는 최소값(MOT_SPIN_ARMED)에 도달하고, 비행중이라면 기체는 고도 제어를 상실하고 돌면서 추락하게 됩니다.
• 모터로 보내지는 throttle 신호는 기체의 자세 변화로 인해 조종자가 수행해야하는 보상을 줄이기 위해 기존 tilt 각에 기초하여 자동 조정됩니다. 즉, 기체가 앞으로 더 기울게 됩니다.


비행을 익히고 싶다면 Stabilize 보다는  Alt Hold나 Loiter 비행을 시도하십시오. 한 번에 여러 제어에 집중해야 할 필요가 없다면 추락도 줄어들 것입니다.

autopilot이 기체를 제어하는데 실패할 경우에는 항상 Stabilize와 같은 Manual 모드로 전환하십시오. 이후 콥터 제어를 유지하는 것은 사용자의 몫입니다.


Tuning

AC3.1 (혹은 그 이상)은 최상의 Stabilize와 PID값을 자동으로 결정하는 AutoTune 기능이 포함되어 있습니다. 수동으로 PID값을 조정하기보다는 AutoTune을 실행하기를 적극 권장합니다.

• ANGLE_MAX는 최대 기울기 각도를 제어합니다. 기본값은 4500(즉, 45도)
• ANGLE_RATE_MAX는 roll과 pitch축의 최대요청회전속도를 제어합니다. 기본값은 18000(즉,180도/sec)
• ACRO_YAW_P는 조종자의 yaw조작 신호에 따라 콥터가 회전을 얼마나 빨리 할지를 제어합니다. yaw키를 좌측 혹은 우측으로 최대한 밀었을 때, 4.5인 기본값은 200 deg/sec회전 비율을 명령합니다. 더 높은 값은 더 빠른 회전을 유도합니다.
• Stabilize Roll/Pitch P는 콥터의 roll/ pitch와 조정자의 입력 신호 사이의 신뢰성 그리고 요청된 것과 실제 roll/ pitch 각 간의 error를 제어합니다. 4.5의 기본값은 각 오류 1도에 대한 4.5 deg/sec의 회전 속도를 명령 할 것입니다. 7혹은 8과 같은 더 높은 게인 값은 콥터가 좀 더 민감하게 반응하도록 하며 바람에 더 빨리 반응하여 저항하도록 합니다.
• 낮은 stabilize P는 콥터의 반응(roll/ pitch축으로의 rotate, 즉 기울이거나 수평을 유지하는 것)을 매우 느리게 합니다. 그리고 콥터가 매우 둔감하게 느껴지며 바람이 휘몰아치면 추락할 수도 있습니다. 부드러운 비행을 원한다면 Stability P값을 낮추기 보다는 RC_Feel 변수를 낮추어 보십시오.
• Rate Roll/Pitch P, I and D 값은 상위 개념인 Stabilize(즉 각도) controller가 요구하는 회전(기울임)속도에 기초하여 모터로의 출력을 제어합니다. 이 값들은 일반적으로 낮은 비율 PID 값을 필요로 하는 보다 강력한 헬리콥터와 헬리콥터의 중량 대 출력비와 관련이 있습니다. 예를 들어 추력이 더 낮은 콥터의 Rate Roll/Pitch P 수치가 0.18 혹은 그 이상 일때 높은 추력의 콥터는 0.08의 값을 가질 것입니다.
• Rate Roll/Pitch P는 사용자의 콥터를 정확하게 조정하기 위한 유일하고 가장 중요한 값입니다.
• 원하는 선회 속도를 얻기 위한 더 높은 P값은 더 높은 모터 반응을 발생시킵니다.
• 표준 아듀콥터의 기본 P값은 0.15입니다.
• Rate Roll/Pitch I는 보다 긴 시간 동안 콥터가 (요구속도의 유지를 방해하는) 외부의 힘에 대한 보상(상쇄)을 하기 위해 사용됩니다.
• 높은 I값은 요구속도를 유지하기위해 빠르게 경사를 주고 과잉질주(overshoot)를 피하기 위해 재빨리 경사를 줄입니다.
• Rate Roll/Pitch D는 콥터가 요구설정값(desired set point)에 도달하려고 하는 가속도반응을 완화(무디게) 하는데 사용됩니다. 다시 말해 시간이 지남에 따라 요구설정값에 도달하는 반응이 점점 더 빨라지는데, 이를 완화하는 수단입니다.
• 높은 D값은 매우 이례적인 진동 및 메모리 효과(느리거나 반응하지 않는 것 같은 콘드롤 느낌)가 발행할 수 있습니다. 잘 장착된 컨트롤러는 0.011값이 세팅될 수 있어야합니다.
• 0.001과 같은 낮은 값과 0.02처럼 높은 값 모두 기체에 따라 사용됩니다.

좀 더 자세한 튜닝정보는 AC2_attitude_PID 를 보십시오.


Dataflash logs를 통한 성능 검증

콥터에서 dataflash 로그를 다운로드하여 stabilize 모드 수행 결과를 살펴보는 것이 가장 좋습니다. 이것을 mission planner에서 열고 ATT 메시지(ATT message’s)의 Roll-In 혹은 DesRoll (조종자 요구 roll 각)을 Roll (실제 roll)과 비교할 수 있도록 그래프로 표시합니다. 마찬가지로, Pitch-In 혹은 DesPitch (요구 pitch 각)과 Pitch (실제 pitch 각)을 비교할 수 있도록 그래프를 표시합니다.
이것들은 아래와 같이 잘 추적합니다. stabilize 비행 구간을 잘 살펴보십시오.

01.png





일반적인 문제

• 새 콥터가 이륙 즉시 뒤집어집니다. 이것은 보통 잘못된 모터 순서, 회전방향, 프롭문제(CW,CCW)로 발생합니다. 사용자의  apm2 혹은 pixhawk의 연결 상태를 확인하십시오.
• 콥터가 roll축 혹은 pitch축으로 불안정하게 흔들립니다. 이것은 보통 P값이 부정확함을 의미합니다. 이 게인값을 조정하는 방법에 대한 몇 가지 힌트는 위의 튜닝 방법을 참고하십시오.
• 빠르게 하강할 때 콥터가 흔들립니다. 이는 콥터 자신의 프롭이 씻기듯(기체를 위로 당기듯이 아니고) 떨어짐으로써 발생합니다. Roll/Pitch P값을 올린다 하더라도 거의 해결이 불가능합니다. 적정 추력을 유지 하십시오.
• 콥터가 이륙 시 왼쪽 혹은 오른쪽으로 15도씩 회전합니다. 일부 모터가 정렬되지 않았거나 ESC 켈리가 제대로 이뤄지지 않았습니다.
• 헬기가 바람이 없는 조건에서도 항상 한 방향(기체를 중심으로 어느 방향이든)으로 이동합니다. 수평유지를 위하여 SaveTrim or AutoTrim를 시도하십시오.
• 콥터가 공중에서 고도를 유지하지 못하거나 완벽하게 정지해 있지 못합니다. 위에서 언급하였듯이 이것은 매뉴얼 모드이며 고도와 위치를 유지하기 위해서는 계속 스틱을 조작해야합니다.
• roll이나 pitch의 간헐적인 들썩임. 보통 수신기의 간섭(예를 들어 FPV장비가 수신기에 너무 가까이 위치)에 의해 발생합니다. 혹은 ESC의 문제로 변속기 켈리로 해결될 수 있습니다.
• 비행중 갑작스런 뒤집힘. 이는 거의 모두 모터나 변속기의 기계적 결함에서 발생합니다.