드론 쿼드콥터

로이터(Loiter) 모드

하늘이푸른오늘 2017. 6. 29. 22:19

로이터 모드에서는 자동적으로 현재의 위치, 기수 방향 및 고도를 유지하려고 시도한다. 로이터모드에서는 조종사가 콥터를 마치 수동 비행 모드인 것처럼 날릴 수 있지만, 스틱을 놓으면 천천히 정지하고 위치를 유지한다.

로이터 성능이 잘 발휘되려면 GPS가 잘 고정되고, 전자나침반 간섭이 낮고, 진동수준이 낮아야 하는 등이 모두 중요하다.


제어 (Controls)

조종사는 스틱을 사용하여 콥터의 위치를 제어할 수 있다.

  • 수평 위치는 Roll/Pitch 스틱으로 조종할 수 있다. 최대 수평 속도는 기본값이 5 m/sec이다. (이를 조정하려면 아래 Tuning 절을 보라) 조종사가 스틱을 놓으면 속도를 줄이고 정지한다.
  • 고도는 고도유지(AltHold) 모드와 마찬가지로 Throttle 제어 스틱으로 제어할 수 있다.
  • 기수 방향은 Yaw 스틱으로 설정할 수 있다.

로이터 모드에서도 기체를 시동을 걸 수 있지만, GPS가 3D로 고정되고, HDOP가 2.0 이하로 떨어질 때만 가능하다.  LED 패턴을 확인하라.

튜닝(Tuning)

로이터 모드는 고도유지(AltHold) 모드에 들어 있는 고도 제어기를 포함하고 있다. AltHold 모드 튜닝은 여기에 자세한 내용이 있다.


WPNAV_LOIT_SPEED : (위 그림에서 제일 오른쪽 아래 Loiter Speed 항목) 최대 수평속도(cm/s) 즉 500이면 5m/s. 기본값은 최대 가속도가 로이터 속도의 1/2이다. (즉 최대가속도 2.5m/s/s)

WPNAV_LOIT_MAXA : 최대 가속도(cm/s/s). 값을 크게하면 콥터가 좀더 빨리 가속하고 정지한다.

WPNAV_LOIT_MINA : 최소 가속도(cm/s/s). 값을 크게하면 스틱을 놓았을 때 콥터가 좀더 빨리 정지하지만, 콥터가 정지할 때 덜컹거림이 커진다.

WPNAV_LOIT_JERK: 최대 가속도 변화(cm/s/s/s). 높은 값을 주면 기체의 반응성이 높아지고, 낮은 값을 주면 비행이 부드러워진다.

POS_XY_P : (위의 그림에서 우 상단 Loiter PID P로 표시) 수평위치 오차(즉, 원하는 위치와 실제 위치와의 차이)를 목표 위치로 향하는 원하는 속도로 변환한다. 대부분 이를 수정할 필요는 없다.

VEL_XY_P : (위 그림에서 "Rate Loiter P, I and D") 목표로 향하는 원하는 속도를 원하는 가속도로 변환한다. 결과 원하는 가속도는 기체 기울기 각도가 되어, 안정화(Stabilize) 모드에서 사용되는 각도 제어기로 전달된다. 대부분 이를 수정할 필요는 없다.

일반적인 문제

  1. 조종사가 스틱을 놓은 후, 기체가 아주 천천히 정지함.('화물차 정지(freight train stop)'라고 함) 이는 WPNAV_LOIT_MAXA 값 (500 정도??) , WPNAV_LOIT_MINA 값 (100정도로), WPNAV_LOIT_JERK 값 (4000 정도로) 을 올리면 해결된다.
  2. 기체가 회전함("변기물빠짐(toiletbowls)" 라고 함) 일반적으로 전자나침판 문제로 인해 발생하며, 비행콘트롤러 밑에 전원 선으로부터 자기간섭 문제이다. Compassmot 를 수행하거나, GPS+전자나침반 모듈을 구입하면 이를 해결할 수 있다. 라이브 캘리브레이션중 전자나침반 오프셋이 잘못 설정되었거나, 전자나침반 방향을 잘못 설치했을 가능성도 있다.
  3. 로이터 모드로 들어가자마자 기체가 잘못된 방향으로 이륙한다. 전자나침반 오류가 90도 이상이라는 것 외에는 원인이 #2와 동일하다. #2와 동일한 방식으로 해결할 수 있다.
  4. 기체가 정상적으로 잘 로이터링하다가 갑자기 다른 방향으로 이륙한다. 이는 일반적으로 GPS Glitch(GPS가 갑자기 신호를 잃고 완전히 다른 방향으로 튀는 현상. 멀티패쓰로 발생할 수 있지만, 아주 가끔은 장애물이 전혀 없는 곳에서도 발생함)로 인해 발생한다. 이를 100% 신뢰성 있게 방지할 방법은 없다. 따라서 조종사는 수동 제어로 넘겨받을 수 있도록 항상 준비하고 있어야 한다. 이륙전 GPS HDOP를 잘 확보하는 것이 좋으며, GPSGLITCH_RADIUS 또는 GPSGLITCH_ACCEL 파라미터를 줄이면 도움이 될 수 있다. (자세한 내용은 GPS Glitch 페이지를 참고할 것)

미션플래너에서 HDOP 표시

미션플래너 Quick 스크린 화면을 더블클릭 한후, "gpshdop"를 선택하면 HDOP 값을 확실하게 찾아볼 수 있다.

dataflash 로그를 사용하여 로이터 모드 성능 확인하기

로이터 모드의 수평 위치 성능은, dataflash 로그를 다운로드 받은 후, 미션플래너에서 NTUN 메시지 중 DesVelX 와 VelX, DesVelY 와 VelY 를 그래프로 그려보면 쉽게 확인할 수 있다. 성능이 좋은 경우, 아래 그림과 같이 콥터의 실제 속도가 원하는 속도를 뒤쫒아 간다. X= 위도(+는 북쪽, -는 남쪽), Y= 경도(+는 동쪽, -는 서쪽)

고도 유지 성능 확인 방법은 AltHold 모드와 동일하다.

OF_LOITER 모드 (사용되지 않음)

OF_LOITER는 더이상 사용되지 않는다. Copter 예전버전(3.2.1 이전)에서 이 특별한 Loiter 모드는 Optical Flow 기기를 이용하여 위치를 유지하였다. 새로운 버전(3.3.3 이상)에서는 일반 Loiter 모드에서도 PX4Flow 센서를 사용한다.

====

원문 : http://ardupilot.org/copter/docs/loiter-mode.html

이전글 : 고도 유지(Alt Hold) 모드

다음글 : 위치고정(PosHold) 모드