드론/쿼드콥터2017. 6. 29. 22:20

귀환(RTL : Return To Launch) 모드는 콥터를 현재 위치로부터 이동시켜 Home 위치 위에 호버링하도록 하는 모드이다. RTL 모드의 행태는 여러가지 파라미터를 사용하여 제어할 수 있다. 이 페이지는 RTL 모드를 사용하는 방법 및 설정하는 방법을 설명한다.

개요

귀환(RTL) 모드가 선택되면 콥터는 Home 위치로 되돌아온다. 콥터는 먼저 RTL_ALT 로 지정한 높이만큼 상승한 후 Home으로 귀환한다. 현재의 높이가 RTL_ALT 보다 높다면 그 높이를 그대로 유지한 채 되돌아 온다. RTL_ALT의 기본값은 15m 이다.

RTL은 GPS에 의존하는 이동이므로, 이 모드를 사용하기 전에 반드시 GPS가 고정되어 있어야 한다. 시동을 걸기전, APM의 파란색 LED가 고정되어 있는지 확인하라. 전자나침반이 없는 GPS의 경우, GPS 가 고정되면 LED가 파란색으로 고정된다. GPS+전자나침반 모듈의 경우 GPS가 고정되면 LED가 파란색으로 점멸한다.

RTL 은 Home 위치, 즉 기체가 시동을 건 위치로 되돌아 오도록 명령한다. 즉, Home 위치는 콥터의 실제 이륙위치로 가정되며, 사람들이나 장애물로 방해받지 않아야 한다. 

경고 : RTL 모드에서 비행콘트롤러는 기압계를 사용하여 고도를 결정하므로, 비행중 기압이 변할 경우, 실제 고도가 아닌 기압 변화를 따라가게 된다. (6-7미터 이내이고 SONAR가 설치되었고 활성화되었을 경우, 이를 사용함)

옵션(사용자 조정 파라미터)

  • RTL_ALT: 귀환(RTL) 모드의 최소 고도
    • 0 : 현재의 고도를 유지
    • 1-8000 cm 사이로 설정가능
    • 기본값은 15미터(1500)
  • RTL_ALT_FINAL: RTL 마지막단계에서 콥터가 이동하는 높이. 또는 미션을 완료한 후의 높이
    • 0 : 자동 착륙
    • 최종 귀환고도는 0-1000 cm 내에서 조정가능
  • RTL_LOIT_TIME: 최종 하강전 "Home" 위치 위에서 호버링/대기 시간(milliseconds)
    • 0-60,000 사이에서 조정가능
  • WP_YAW_BEHAVIOR : 미션 및 RTL중 "Yaw" 를 제어하는 방법
    • 0 = Yaw 를 변경하지 않음
    • 1 = 다음 웨이포인트로 향함 RTL의 경우 Home을 향함
    • 2 = 다음 웨이포인트를 향하되, RTL 제외(RTL 들어가기 전 최종 기수방향을 유지)
  • LAND_SPEED: RLT 최종단계인 착륙 속도(cm/s)
    • 착륙속도는 20 - 200 cm/s 내에서 조정가능
  • RTL_CLIMB_MIN: RTL 첫단계의 기체 상승속도. 기본값은 0임. (콥터 3.3 이상)
  • RTL_SPEED: 기체가 Home으로 귀환할 때의 수평 속도 (cm/s) 기본값은 0으로서, WPNAV_SPEED를 그대로 사용함(Copter 3.4 이상)
  • RTL_CONE_SLOPE: Home에서 가까운 곳에서 RTL을 할 때, 기체가 상승하는 양을 제한하는데 사용되는, 역깔때기 의 기울기?? Defines the slope of an inverted cone above home which is used to limit the amount the vehicle climbs when RTL-ing from close to home.  작은 값을 두면 깔대기가 넓어져서 기체가 덜 상승하고, 큰 값을 주면 기체가 더 많이 상승한다. (Copter 3.4 이상)

참고 

  • 아래의 자동(AUTO) 모드 설정도 RTL 모드에 영향을 미친다
  • RTL을 사용하기 위해서는 시동.이륙전 GPS가 고정되어, Home 및 이륙위치가 결정되어 있어야 한다.(LED 상태 참조)
  • 착륙후 다시 시동을 걸면 Home을 재설정한다.
  • [RTL_ALT]를 0이 아닌 값으로 설정하면, 귀환하는 동안 해당 높이를 유지하면서 돌아온다.
  • RTL 시 수평속도는 WPNAV_SPEED를 사용한다.
  • 콥터가 Home 위ㅣ에 당도하면 [RTL_LOIT_TIME] (milliseconds)만큼 잠시 정지했다가 시간이 지나면(AUTO_LAND) 착륙한다.

====

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

이전글 : 자동(AUTO) 모드

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2017. 6. 29. 22:20

자동(Auto) 모드에서는 콥터가 비행 콘트롤러에 저장되어 있는 미리 프로그램된 미션 스크립트를 따라 비행한다. 미션스크립트는 항법명령(즉, 웨이포인트(Waypoint))와 "실행(do)" 명령(카메라 셔터 터뜨리기 등 콥터의 위치와는 영향을 미치지 않는 명령)으로 구성된다. 이 페이지는 자동모드에 대한 개요이다.

미션 스크립트를 생성하는 데 필요한 정보는 미션 계획하기(Waypoints and Events) 를 팜고하라. 미션 스크립에서 지원되는 명령 전체는 콥터 미션 명령 목록(Mission Command List) 페이지를 참고하라.

개요

자동(Auto) 모드는 AltHold 모드에 있는 고도제어 기능과, 로이터(Loiter) 모드의 위치제어 기능을 모두 포함하고 있으므로, 이들 모드로 잘 날릴 수 있기 전에는 자동모드를 시도해서는 안된다. 진동수준 및 전자나침반 자기장 간섭이 허용 범위 이내이고, HDOP가 2.0 이하를 포함하여 GPS가 잘 동작하는 등의 요구사항도 동일하다.

제어

자동 모드는 비행모드 스위치에 비행모드 중 하나로 설정해두어야 한다.

콥터가 착륙해 있는 상태에서 미션을 시작하려면, 조종사는 쓰로틀이 완전히 아래에 있는지 확인한 후, 자동(Auto) 모드 스위치를 켠 후 쓰로틀을 올린다. 쓰로틀이 0 이상으로 올라가는 순간 콥터는 미션을 시작한다.

콥터가 비행하는 도중에 미션을 시작하면, 비행모드가 자동(Auto)로 움직인 순간의 최초의 명령부터 시작한다. 미션 스크립트에 있는 최초의 명령이 이륙(take-off)인데, 이미 이륙 명령에 포함된 고도보다 높이 있다면, 이륙 명령이 완료된 것으로 간주되어 다음 웨이포인트로 이동한다.

자동미션 수행중 언제든지 비행모드 스위치를 안정화(Stabilize) 혹은 로이터(Loiter) 등과 같이 다른 비행모드로 바꾸면, 조종사가 자동항법으로부터 제어권을 다시 가져올 수 있다. 조종사가 스위치를 다시 AUTO 로 바꾸면 미션은 초음 명령으로부터 다시 시작한다.

자동미션 수행중에는 조종사의 roll, pitch 및 쓰로틀 입력이 무시되지만, Yaw만은 Yaw 스틱으로 제어할 수 있다. 예를 들어 콥터가 미션을 수행중에도 콥터의 기수방향(카메라가 단단히 고정되어 있는 경우)을 빠꿀 수 있다. 기체가 다음 웨이포인트를 통과하면, 자동항법이 Yaw 제어를 다시 가져간다.

미션은 미션플래너의 비행계획(Flight Plan) 화면을 통해 입력하거나 수정할 수 있다. 미션에서 지원되는 명령 목록 및 이에 대한 간략한 설명은 콥터 미션 명령 목록(Copter Mission Command List) 페이지를 참고하라.

미션 종료(Ending Mission)

미션은 일반적으로 마지막 명령으로 RTL을 넣어, 미션을 완료한 후 원점으로 돌아올 수 있도록 한다. 다른 지점에서 착륙(LAND) 시킬 수도 있다. 맨 끝에 RTL이나 LAND 명령이 없으면 마지막 웨이포인트에 스냥 정지하므로, 조종사가 송신기로 제어를 가져와야만 한다.

RTL시 기억해야 할 것은, 콥터가 시동을 건 지점인 "Home" 위치로 돌아온다는 점이다.

콥터가 미션을 끝내고 착륙하면, 조종사는 쓰로틀을 맨 아래로 내려야 한다. 그후, 자동항법도 착륙했다고 판단한다면 모터를 시동 해제한다.

튜닝(Tuning)

자동(AUTO) 모드는 고도유지(AltHold) 모드의 고도제어 기능과 로이터(Loiter) 모드의 위치제어 기능을 포함하고 있다.

콥터의 최대 수평속도는 미션플래너의 Config/Tuning -> Copter Pids 화면에서 Speed(WPNAV_SPEED) 파라미터 (윗 그림에서 파란색)를 수정하면 조정할 수 있다. 기본값 500은 초속 5미터를 의미한다. 전형적인 콥터는 최대 10 m/s ~ 13 m/s (즉 1000 ~1300)까지 도달할 수 있다. 그보다 높으면 수직 속도 및 수평속도를 모두 유지하기 어렵게 된다.

수직 상승 및 하강속도도 이와 비슷하게 Speed Up (WPNAV_SPEED_UP) 및 Speed Dn (WPNAV_SPEED_DN) 파라미터로 조정할 수 있다.

Radius 파라미터는 콥터가 해당 웨이포인트 위치에 얼마나 접근을 해야 "완수(complete)"했다고 간주하고 다음 웨이포인트로 이동할 지를 제어하는 변수이다. 이는 웨이포인트 명령에 1초 이상의 지연(delay)가 포함되어 있을 때만 적용된다. 

지연이 없을 경우, 웨이포인트는 "fast waypoint"로 간주되어, 콥터가 추적하고 있는 중간 목표(intermediate target)이 웨이포인트에 도달하면 다음 웨이포인트로 이동하기 시작한다. 중간 목표는 콥터의 10미터 전방 혹은 그 이상일 수 있다. (그 거리는 Speed 파라미터가 크면 증가한다.) Without a delay the waypoint is considered a “fast waypoint” and the copter will begin towards the next waypoint once the intermediate target that it is chasing has reached the waypoint. This intermediate target can be 10m or more ahead of the copter (it’s distance ahead of the copter increases with the Speed parameter).

===

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

이전글 : 위치고정(PosHold) 모드

다음글 : 귀환(RTL) 모드

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2017. 6. 29. 22:19

위치고정(PosHold) 비행모드(예전에는 "하이브리드(Hybrid)"라고 함)는 AC3.2 에서 새롭게 등장한 모드이다. 기체를 일정한 위치, 기수방향 및 고도를 유지하게 한다는 점에서는 로이터 모드와 비슷하지만, 조종사 스틱 입력이 직접 기체의 기술기각도를 제어하는 방식이기 때문에 좀더 "자연스러운" 느낌을 제공하여 인기가 있다.

개요

스위치를 켜면 위치고정(PosHold) 모드는 자동적으로 현재의 위치, 방향 및 고도를 유지하려고 시도한다. 로이터 성능이 좋으려면 GPS 위치가 좋고, 전자나침반 자기 간섭이 낮으며 진동이 낮아야 한다. 자기장 간섭 및 진동 측정에 관한 내용은 로그를 이용한 문제진단를 보라


제어

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

  • 수평위치는 Roll, Pitch 스틱으로 제어한다. 최대 기울기각도 기본값은 45도이다.(ANGLE_MAX 파라미터로 조정 가능) 조종사가 스틱을 놓으면 곱터가 수평으로 돌아와서 기체를 정지시킨다.
  • 고도는 고도유지(AltHold) 모드와 마찬가지 방법으로 쓰로틀 스틱으로 제어할 수 있다.
  • 기수방향은 Yaw 스틱으로 설정할 수 있다.
  • PosHold 모드 상태에서도 시동을 걸 수 있지만, GPX가 3D로 고정되고, HDOP가 2.0 이하이어야만 된다.

APM2 보드의 경우, 3D 로 고정되면 보드의 푸른 색 LED가 계속 불이 들어온다. 픽스호크의 경우 LED가 초록색이 된다. (자세한 LED 패턴은 여기를 보라)

HDOP 값을 확실하게 보려면, 미션플래너의 Quick 스크린을 더블클릭하고 나타나는 항목중에서 "gpshdop"를 선택하면 된다.

최대 브레이크각은 PHLD_BRAKE_ANGLE 파라미터에서 설정할 수 있다. (3000 은 정지시 역방향 기울기가 최대 30도를 의미한다.)

기체가 정지시 최대각으로 회전하는 속도는 PHLD_BRAKE_RATE 파라미터로 설정할 수 있다. (8은 초당 8도로 회전함을 의미한다.)

===

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

이전글 : 로이터(Loiter) 모드

다음글 : 자동(AUTO) 모드

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터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) 모드

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2017. 6. 29. 22:19

고도유지 모드에서는 roll/pitch/yaw 입력은 평상시처럼 제어할 수 있되, 콥터가 고도를 일관성있게 유지한다.

개요

고도유지(AltHold) 모드가 선택되면, 현재의 높이를 유지하기 위해 쓰로틀이 자동 제어된다. Roll, Pitch, Yaw는 안정화(Stabilize)모드와 동일하게 작동된다. 즉, 조종사가 Roll/Pitch 방향의 기울기 각도 및 기수방향(heading)을 직접 제어한다.

자동 고도유지는 다른 많은 비행모드(로이터, 스포츠 등)의 기능이므로, 여기에 있는 정보는 이들 모드에도 동일하게 적용된다.

참고 : 비행콘트롤러는 고도를 결정하기 위한 수단으로 기압계를 사용한다. 따라서 극단적인 날씨 등으로 인해 비행지역에서 기압이 변하면, 콥터는 실제 고도가 아닌 기압 변화를 따라가게 된다. (예외로 지상에서 6-7미터 이내에 있고 SONAR를 탑재하고 활성화 시켰을 경우는 이를 사용한다.) 26피트 (8미터) 이하에서는 SONAR(활성화되어 있을 경우)가 자동적으로 훨씬 정확한 고도를 제공한다.

제어(Controls)

조종사는 쓰로틀 스틱을 사용하여 기체의 상승/하강 속도를 제어할 수 있다.

  • 쓰로틀 스틱이 중앙 부근(40% ~ 60%)에 있다면 기체는 현재의 고도를 유지한다.
  • 쓰로틀 중앙 불감대역(deadband)을 벗어나면(즉 40% 이하거나, 60% 이상일 때) 기체는 스틱이 얼마나 기울어졌는지에 따라 상승하거나 하강한다. 쓰로틀 스틱을 완전히 내리면 콥터는 2.5m/sec 속도로 하강하며, 스틱을 완전히 올리면 2.5m/sec 으로 상승한다. 이 속도는 PILOT_VELZ_MAX 파라미터로 조정할 수 있다.
  • 불감대역의 범위는 THR_DZ 파라미터(AC3.2 이상)를 사용하여 조정할 수 있다. 이 파라미터는 0과 400 사이여야 한다. 0은 불감대역이 없다는 뜻이며, 100은 쓰로틀 중앙점에서 10% 이상 및 이하 사이를 불감대역으로 만든다. (즉, 쓰로틀 스틱 40%-60% 범위가 불감대역이 된다.)

AC3.1 이후에서는 고도유지 모드에서도 시동/시동해제가 가능하다. 시동해제를 하면, 콥터를 착륙지점에서 몇 초정도 가만히 있도록 하여, "착륙 점검기(landing checker)"가 착륙했는지를 확인시켜야 한다. 이후에야 시동해제를 시킬 수 있다.

튜닝(Tuning)

AltHold P 는 높이오차(희망 높이와 실재 높이와의 차이)를 상승/하강 속도로 변환하는데 사용된다. 높은 값을 두면 좀더 공격적으로 고도를 유지하려고 시도하지만, 너무 높이면 쓰로틀 반응이 홱홱 날카로워진다.

Throttle Rate (대부분 튜닝이 필요없음) 희망 상승/하강 속도를 원하는 상하 가속도로 변환하는데 사용된다.

The Throttle Accel PID 이득값은 가속도 오차(즉 희망 가속도와 실재 가속도간의 차이)를 모터 출력으로 변환하는 데 사용된다. 이 파라미터를 수정할 경우, P:I 의 비율은 1:2로 유지해야 한다. (즉, I 값을 P 값의 두배로) 이 값은 절대 증가시켜서는 안되지만, 매우 강력한 콥터의 경우, P와 I를 50% (즉, P 는 0.5, I 는 1.0) 내리면 더 반응이 좋아질 수 있다.

dataflash log를 사용하여 AltHold 성능 검증하는 방법

고도유지 모드의 성능은 해당 비행의 데이터플래시 로그를 다운로드 받은 후, 미션플래너에서 기압계 고도, 희망 고도, 관성항법 기반의 고도 추정값을 그래프로 표시하면 쉽게 확인할 수 있다. 이 데이터는 버전과 보드의 종류에 따라 약간 다른 행에 나타난다.

APM AC3.1의 경우

CTUN의 BarAlt (기압계 고도), WPAlt (원하는 고도)와 GPS 메시지에 있는 RelAlt(관성항법 고도추정)

APM AC3.2 이상 또는 Pixhawk 

CTUN의 BarAlt(기압계 고도), DAlt(원하는 고도), Alt (관성항법 고도 추정)

이 세가지항목은 아래와 같이 서로 잘 추적해야 한다.

일반적인 문제점

  1. 진동이 심하면 고도유지모드로 들어가자 마자 콥터가 빠르게 상승할 수 있다. 진동을 측정하고 줄이는 방법을 참고하라.
  2. 콥터가 천천히 상승하거나 하강한다. 조종사가 안정화모드(Stabilize)에서 제어를 되찾아야 한다. 일반적으로 이러한 현상은 쓰로틀 스틱이 중앙 위치가 아니기 때문에 발생한다. 가장 흔한 경우는 쓰로틀 중앙에서 호버링하지 않는 콥터를 조종사가 수동비행모드(Stabilize 등)에서 AltHold 로 바꿀 때 발생한다. 쓰로틀 중앙 위치 설정 페이지를 참고하라.
  3. AltHod 모드로 전환한 직후 잠시동안 모터가 정지한듯 하다가 금방 회복된다. 이는 일반적으로 빠르게 상승하는 동안 AltHold 모드로 바꿨을 때 발생한다. 목표 고도는 조종사가 Alt Hold 모드로 들어갔을 때의 순간에 설정되지만, 기체가 빠르게 상승하고 있기 때문에 기체가 목표지점 위에서 날고 있는 상태가 된다. 공격적인 고도유지 제어기는 일단 잠시 모터 속도를 최저수준으로 줄인뒤 목표 고도로 되돌아가기 시작한다. 안정된 고도에서 비행하는 중 AltHold 모드로 들어가면 이러한 현상이 발생하지 않는다.
  4. 대기압 변화가 있으면 기체가 장시간에 걸쳐 몇 미터 정도 천천히 상승 또는 하강한다. 또는 지상국에 표시된 고도가 몇미터 정도 부정확할 때(경우에 따라서는 음수로 표시되기도 함)에도 이런 현상이 발생한다.
  5. 콥터가 고속으로 전진한 뒤 수평을 잡을 때 순간적으로 고도가 1m-2m 정도 떨어진다. 이는 공기역학적 효과 때문으로, 비행 콘트롤러가 설치된 콥터의 꼭대기에 순간적으로 저압 공기방울이 형성되고, 이로 인해 제어기는 기체가 상승하고 있다고 믿어 하강 반응을 하는 것이다. 현재로서는 이런 행태에 대해 교정할 방법이 없다. 단 [INAV_TC_Z] 파라미터를 7로 (기본값은 5) 올리면 이 효과를 줄일 수 있지만, #1에서 언급한 상황이 더 크게 나타나게 된다.
  6. 지상에 가깝거나 착륙중에 고도 유지가 잘 안된다. 이는 prop-wash로 인해 발생하는 기압 변화에 의해 기압계가 영향을 받기 때문에 발생한다. 해결책은 비행콘트롤러를 prop-wash가 없는 지역으로 이동시키거나, 적절하게 환기가 잘되는 울타리 안에 보호하는 것이다. ??  shield it within an appropriately ventilated enclosure.
  7. 기압계를 살짝 건드리면 고도가 갑자기 변한다. 2013년 중반 이후 판매된 APM2.x 는 케이스 내부에 검정 테이프로 처리하여 이를 방지하고 있다.

적절한 동력

기체에 충분한 동력이 있어야 하는 것은 매우 중요하다. 동력이 충분하지 못하면 AltHold 와 고도 제어기가 모터에서 사용가능한 것보다 더 많은 동력을 요구하는 상황이 발생할 수 있으며 이로 인해 일부 제어를 포기함으로써 고도나 자세를 잃어버리게 된다.

이상적으로 기체는 50% 쓰로틀 (스틱 중앙 위치)에서 호버링할 수 있어야 하며, 70% 이상이면 위험하다.

경고 : 송신기에 expo를 도입하면 Alt Hold 쓰로틀 불감대역의 크기가 커진다. ???? If you incorporate expo on your transmitter, that directly increases the size of the Alt Hold throttle dead band.

===

원문 : http://ardupilot.org/copter/docs/altholdmode.html

이전글 : 안정화(Stabilize) 모드

다음글 : 로이터(Loiter) 모드

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2017. 6. 29. 22:19

Stabilize 모드는 기체를 수동으로 날릴 수 있지만, roll/pitch 축에 대한 수평은 유지된다.

참고 : 조종을 배우는 중이라면 AltHold 모드 혹은 Loiter 모드를 시도하라. 한번에 너무 많은 콘트롤할 필요가 없어서 충돌 위험이 낮아진다.

개요

  • 조종사의 roll/pitch 입력이 곱터의 기울기 각도를 제어한다. 조종사가 스틱을 놓으면 기체는 자동적으로 수평을 잡는다.
  • 기체가 한자리에 머물도록 하려면, 조종사는 자주 roll/pitch 명령을 입력해야 한다. 바람에 의해 밀리기 때문이다.
  • 조종사의 Yaw 입력은 기수방향의 변화율을 제어한다. 조종사가 yaw 스틱을 놓으면 기체는 현재의 기수방향을 유지한다.
  • 조종사의 Throttle 입력은 모터의 평균속도를 제어한다. 즉, 고도를 유지하려면 Throttle을 계속 조종해야 한다. 조종사가 Throttle을 완전히 아래로 내리면, 모터는 최저속도(MOT_SPIN_ARMED)로 내려오고, 이때 기체가 날고 있다면 고도제어를 잃고 추락하게 된다.
  • 모터에 보내진 Throttle은 기체의 기울어진(tilt) 각도에 따라 자동적으로 조정된다. (즉, 기체가 기울어져 있을 수록 증가된다.) 기체의 자세변화에 따라 조종사가 해야할 보정을 줄일 수 있도록 하기 위해서이다.
참고 : 조종사가 기체의 제어를 잃으면, Stabilize 모드와 같은 매뉴얼 모드로 전환하라. 콥터의 제어를 유지하는 것은 당신의 책임이 된다.

튜닝

AC3.1 이후 버전에는 최적의 Stabilize 와 Rate PID 값을 자동적으로 결정해 주는 AutoTune 기능이 포함되어 있다. 수동으로 PID 값을 조정하는 것보다, AutoTune을 수행할 것을 강력하게 추천한다.

  • ANGLE_MAX는 최대 기울기 각으로 기본값은 4500(즉 45도)이다.
  • ANGLE_RATE_MAX는 roll과 pitch 축에서 최대 요청 회전률을 제어하며, 기본값은 18000(180도/초)이다.
  • ACRO_YAW_P는 조종사의 yaw 입력에 근거해 콥터를 얼마나 빨리 회전시킬 것인가를 제어한다. 기본값인 4.5는 yaw 스틱을 좌측 또는 우측으로 완전히 밀었을 때 200도/초 로 회전하도록 한다. 높은 값을 줄 수록 빨리 회전한다.
  • Stabilize Roll/Pitch P 는 조종사의 입력에 대한 콥터의 roll/pitch의 반응성과, 원하는 roll/pitch 각과 실제 roll/pitch각의 오차를 제어한다. 기본값인 4.5는 각도에서 1도만큼 오차가 발생하면 4.5도/초 로 회전하라는 명령을 주게 된다. 높은 이득, 예를 들어 7 또는 8은 콥터의 반응성을 높이고, 돌풍에 더 빠르게 저항한다.
    • 낮은 statbilize P는 콥터를 매우 천천히 회전하게 하여, 콥터의 반응성을 떨어뜨리고, 바람이 교란할 경우 추락할 수 있다. 만약 부드럽게 비행하고 싶은 목적이라면, stabilize P 값 대신, RC_Feel 매개변수를 먼저 낮춰보라.
  • Rate Roll/Pitch P, I, D 항은 위에서 언급한 Stabilize(즉 각도 angluar) 제어기로부터 생성된 원하는 회전각에 근거하여, 모터의 출력을 제어하는 항이다. 이들항은 일반적으로 콥터의 출력:무게비와 관계있다. 즉, 출력이 큰 콥터는 rate PID 값을 적게 해야 한다. 예를 들어 추력이 큰 콥터는 Rate Roll/Pitch P 값이 0.08일 때, 추력이 작은 콥터는 0.18 또는 더 큰 값을 가지게 된다. 
    • Rate Roll/Pitch P 값은 콥터를 올바르게 튜닝할 때 가장 중요한 값이다.
    • P값이 높을수록 원하는 회전률을 획득하기 위한 모터의 반응이 빠르게 된다.
    • 표준적인 콥터의 P 기본값은 0.15 이다.
    • Rate Roll/Pitch I는 콥터를 오랜시간에 걸쳐 원하는 회전률을 유지하지 못하도록 만드는 외부 힘을 보상하는데 사용된다. 
    • I 항이 높으면, 원하는 속도를 유지하기 위해 빠르게 증가하며, overshoot를 방지할 수 있도록빠르게 감소한다.
    • Rate Roll/Pitch D 는 원하는 설정점을 향한 콥터의 가속도 반응성을 약화시키는 데 사용된다. 
    • D 값이 높으면 아주 이상한 진동과, "memory" 효과가 발생하여, 제어가 아주 늦거나 반응성이 떨어지는 느낌이 든다. 적절하게 설치된 제어기는 Rate D 값을 0.011을 허용해야 한다.???
    • 기체에 따라 다르지만, 최저 0.001에서 최고 0.02까지의 값이 사용된다. 

dataflash logs에서 성능 검증하는 방법

dataflash 로그를 다운로드 받아, 미션플래너에서 열고, ATT 메시지의 DesRoll (조종사가 원하는 roll 각도)와 Roll(실제 roll), 그리고 DesPitch(원하는 pitch 각도)와 Pitch(실제 pitch)를 그려보면 stabilize 모드 성능을 잘 살펴볼 수 있다. 이 두가지는 아래에서 보는 것처럼 잘 추적되어야 한다.

일반적인 문제

  • 새로운 콥터가 이륙하자마자 뒤집어진다. 이는 일반적으로 모터 순서가 올바르지 않거나, 잘못된 방향으로 회전하거나, 프로펠러를 잘못 끼웠을 때 발생한다. 
  • 콥터가 roll/pitch축으로 뒤뚱거리듯 흔들린다. 이는 대부분 Rate P 값이 잘못되었을 때이다. 이에 기술한 튜닝 부분을 읽어보라.
  • 빠르게 하강할 때 콥터가 뒤뚱거리듯 흔들린다. 이는 콥터가 자신의 prop wash 속으로 낙하하기 때문으로, Rate Roll/Pitch P 값을 올리면 도움이 되기는 하지만, 이를 제거하는 것은 거의 불가능하다.
  • 콥터가 이륙시 방향을 좌측 또는 우측으로 15도를 튼다. 일부 모터가 똑바르지 않거나, ESC가 교정이 안되어 있을 수 있다.
  • 콥터가 바람이 없는 환경에서도 한쪽 방향으로 가는 경향이 있다. SaveTrim 혹은 AutoTrim을 시행하라.
  • 콥터가 고도를 유지하지 않고, 공중에 완전히 조용하게 머무르지 않는다. 위에서 언급한 것처럼, Stabilize 모드는 수동 비행모드이기 때문에, 고도와 위치를 유지하려면 스틱을 계속 조정해야 한다.
  • 가끔씩 roll/pitch 방향으로 움찔거른다. 일반적으로 수신기에 무언가의 간섭으로 발생한다. (예를 들어 FPV 장비를 수신기에 너무 가깝게 설치하였을 때) 또는 ESC 문제일 수도 있는데, 이는 ESC 교정으로 해결될 수 있다.
  • 비행중 갑자기 뒤집힌다. 이는 거의 항상 모터 또는 ESC의 기계적인 고장으로 발생한다.

===

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

이전 글 : 콥터 비행모드(Copter Flight Modes)

다음 글 : 고도 유지(Alt Hold) 모드

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2017. 6. 29. 22:18

비행모드(Flight Modes)

이 글은 Copter에서 사용가능한 비행모드에 대한 개요와, RC 송신기로 사용할 수 있는 모드를 설정하는 방법에 대한 글이다.

개요

Copter에는 14개의 내장 비행모드가 있으며, 그중 10개는 자주 사용된다. 여러가지 비행 안정화(flight stabilization) 수준/종류를 지원하는 모드, 복잡한 자동항법, 나를따르라(follow-me) 시스템 등이 있다. 
비행모드는 무선(송신기 스위치를 통해)이나 미션 명령을 통해 제어하거나, 지상국(GCS : Ground control System) 이나 보조 컴퓨터로부터의 명령에 의해 제어할 수 있다.

추천 비행모드

일반적으로 처음 콥터를 사용하기 시작할 때, 아래에 나열된 순서대로 비행모드를 진행시켜야 한다. 이때, 다음 모드로 진행하기 전에 이전 모드에서 편하게 사용할 수 있어야 한다. 

기타 비행모드는 다음과 같다.

  • Acro
  • AutoTune
  • Brake
  • Circle
  • Drift
  • Guided (and Guided_NoGPS)
  • Land
  • PosHold
  • Sport
  • Throw
  • Follow Me
  • Simple and Super Simple
  • Avoid_ADSB : ADS-B 기반 유인항공기 회피모드. 조종사가 선택할 수 있도록 해서는 안된다.

대부분의 송신기는 비행모드 스위치로 3-위치 스위치를 사용하지만, 6-위치 비행모드 스위치로 설정하는 방법도 있다.

GPS 의존성

GPS 위치 데이터를 사용하는 비행모드는 이륙전 GPS 가 고정되어야 한다. 사용하는 비행콘트롤러가 GPS 고정 했는지 알아보려면, 지상국과 연결하거나, 비행콘트롤러 하드웨어 개요에서 GPS가 고정되었을 때 LED 가 어떻게 표시되는지를 살펴보라. 아래는 콥터의 비행모드에 대한 GPS 의존 여부를 요약한 것이다.

이륙전 GPS 고정이 필요한 모드

GPS 고정이 필요하지 않은 모드

비행모드 전체 목록

===

원문 : http://ardupilot.org/copter/docs/flight-modes.html

다음글 : 안정화(Stabilize) 모드

Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2017. 3. 29. 14:32

비행모드 (Flight Modes)


개요

Plane에는 다양한 비행모드가 있다. 어떤 비행모드와 어떤 옵션을 선택하느냐에 따라, 간단한 비행 안정화 시스템으로 작동할 수도 있고, 복잡한 자동주행, 교습용 시스템 또는 비행안전시스템 등으로 작동된다.


비행모드는 Radio 송신기 스위치, 미션 명령 또는 지상국 또는 보조 컴퓨터의 명령을 통해 제어된다. 


주요비행모드

  • 매뉴얼 MANUAL
  • STABILIZE 
  • FLY BY WIRE_A (FBWA) 
  • FLY BY WIRE_B (FBWB) 
  • AUTOTUNE 
  • TRAINING 
  • ACRO 
  • CRUISE 
  • AUTO 
  • Return To Launch (RTL) 
  • LOITER 
  • CIRCLE 
  • GUIDED

미션 관련 비행모드

AUTO 미션으로 날릴 때, 미션 아이템을 설정할 수 있는 sub-모드가 있다. 두가지 주요한 서브모드가 TAKEOFF와 LAND이다.

  • MANUAL
  • STABILIZE
  • FBWA (FLY BY WIRE_A) 
  • FBWB (FLY BY WIRE_B) 
  • AUTOTUNE 
  • TRAINING
  • ACRO
  • CRUISE
  • AUTO
  • RTL(Return To Launch)
  • LOITER
  • CIRCLE
  • GUIDED
  • TAKEOFF
  • LAND


주요비행모드


아래의 모든 비행모드에는 추가적인 제어를 통해 특정 비행 목적에 맞도록 거동을 변경시킬 수 있다. 아래에 있는 기본적인 정보를 읽은 후에는 비행기 변수(Plane parameter)를 잘 살펴서 전체 기능에서 어떤 것이 가능한지를 확인해 보는 것이 좋다.


MANUAL 모드

일반적인 RC 콘트롤. 안정화 없음. 모든 RC 입력이 바로 출력으로 전달됨. 출력이 입력과 다른 경우는 다음과 같음.

    • 비상안전 혹은 geofence가 실행되어, Plane이 제어를 가져갈 때
    • [VTAIL_OUTPUT]이 활성화되어 있다면, 소프트웨어 VTAIL 믹서가 출력에 적용됨
    • [ELEVON_OUTPUT]이 활성화되어 있다면, 소프트웨어 Elevon 믹서가 출력에 적용됨


STABILIZE 모드

간단한 안정화가 지원되는 RC 콘트롤. 스틱에서 손을 떼면 기체가 평형을 잡게 된다. 상반각(dihedral)이 큰 비행기를 날리는 것과 얼추 비슷하다. STABILIZE 모드 에서도 롤링/루프 와 같은 기동이 가능하지만, 기체를 바로잡으려는 경향이 있어 이러한 기동이 어렵다. 비행기가 주로 알아서 날라주길 원하는 사람의 경우, 어디로 날라가야 할지만 알려주는 경우, FLY BY WIRE_A(FBWA) 모드를 사용하는 것이 좋다.


STABILIZE 모드에서 쓰로틀은 [THR_MIN]과 [THR_MAX] 설정 내에서만 작동된다.


참고 : STABILIZE 모드는 contorl loop 를 튜닝하는 용도로 좋지 않다. 그 용도로는 FLY BY WIRE_A (FBWA) 를 사용하는 것이 좋다.


FBWA(Fly by wire_A)

Plane의 지원을 받는 모드중 가장 인기있는 모드로서, 초보자들에게 가장 좋은 모드이다. 이 모드에서는 제어스틱에서 지정한 roll 과 pitch 각을 고정한다. 따라서 aileron 스틱을 오른쪽 끝까지 밀 경우, 비행기는 피치 레벨이 고정되고 [LIM_ROLL_CD]에서 지정한 각도(centi degree)로 오른쪽으로 기울어진다. 이 제한 각도 이상으로 비행기를 더 넘기는 것은 불가능하며, 비행기의 기수를 [LIM_PITCH_MAX], [LIM_PITCH_MIN] 설정 이상으로 올리거나 내리는 것도 불가능하다.


참고로 피치값을 0으로 유지한다고 하여 비행기가 고도를 유지하는 것은 아니다. 고도가 올라갈지 내려갈지는 기체의 속도에 달려있으며, 이는 주로 Throttle에 의해 제어된다. 따라서 고도를 올리려면 Throttle을 밀어야 하고, 고도를 떨어뜨리려면 Throttle을 낮춰야 한다. Plan이 고도까지 알아서 처리하도록 하려면 FlyByWireB 모드를 보라.


FBWA모드에서 throttle은 수동제어되지만, [THR_MIN] 과 [THR_MAX] 이내에서만 가능하다.


FBWA 모드에서 방향타(rudder)는 수동 + 미리 설정해둔 rudder 믹싱에 의해 제어된다. 따라서 방향타를 ground steering에 사용할 수 있으며, 자동으로 조정되는 회전(coordinating turns)에도 사용된다.


FBWB(Fly by wire_B)

FBWB는 FBWA와 비슷하지만, Plane에서 고도도 유지한다. Roll 제어는 FBWA와 동일하며, 고도는 승강타(elevator)로 제어된다. 목표 속도는 throttle을 사용하여 제어된다.


FBWB 모드에서 고도를 제어하려면 승강타를 사용하여 고도의 변화를 요청한다. elevator에서 손을 떼면 Plane은 현재의 고도를 유지하려고 시도한다. elevator를 이동시키면 움직인 거리에 비례하여 고도를 올리거나 내린다. elevator를 완전히 넣었을 때 얼마나 고도가 올라갈지는 [FBWB_CLIMB_RATE] 변수에 따르며, 그 기본값은 2 m/sec 이다. 참고로 2 m/sec 은 상당히 느린 변화로, 고도변화의 반응성을 높이기 위해 많은 사용자들이 [FBWB_CLIMB_RATE] 값을 올리고 있다.


elevator 스틱을 당겼을 때 고도를 올릴 것인지 스틱을 밀었을 때 고도를 올릴 것인지는 [FBWB_ELEV_REV]  변수 설정에 따른다. 기본값은 elevator를 당겼을 때 고도가 올라간다. 이는 일반적인 RC 모델의 반응 방향과 일치한다. 반대방향이 편하다면 FBWB_ELEV_REV를 1로 두면, FBWB 모드에서 elevator 가 반대로 된다.


참고로, elevator 스틱은 pitch를 제어하지 않고, 목표 고도를 제어한다.  요청된 상승/하강률을 달성하는데 사용되는 pitch의 양은 TECS 튜닝 설정에 따딸 달라지지만, 일반적으로 비행콘트롤러는 기체를 상당히 수평으로 유지하려고 하면서 주로 Throttle을 사용해 상승 또는 하강한다. 이는 pitch를 직접 조정하는 FBWA 모드에 익숙한 사람들에게는 당황스럽다. 


airspeed 센서가 있을 경우, throttle은 목표 속도를 [ARSPD_FBW_MIN]에서 [ARSPD_FBW_MAX] 범위 내로 제어한다. Throttle의 최소로 되면 비행기는 [ARSPD_FBW_MIN] 으로 비행하려고 시도하며, Throttle이 최대로 되면 [ARSPD_FBW_MAX] 로 비행하려고 시도한다.


airspeed 센서가 없을 경우, Throttle은 기체의 목표 Throttle을 설정하고, Plane은 적절한 고도유지를 위해 이 설정 내외로 Throttle을 조정한다. Throttle 스틱은 빠른 비행을 위하여, 필요하다고 계산된 값 이상으로 목표 Throttle 이상으로 올리고자 할 때 사용될 수 있다.


FBWA와 마찬가지로 방향타(rudder)는 수동 제어 및 자동조정 회전(turn coordination)을 위한 자동 제어에 따른다.


CRUISE 모드를 참고하라. 대체로 FBWB보다 CRUISE 모드가 더 낫기 때문이다. 특히 바람이 심할 때 그러하다. CRUISE 모드에서는 보조날개(aileron) 스틱으로 아무런 roll을 입력하지 않을때, 단순히 날개를 수평으로 유지하는 대신 ground track을 유지하는 방식이다.


AUTOTUNE

AUTOTUNE 모드는 FLY_BY_WIRE_A(FBWA)와 동일한 방식으로 비행하나, roll/pitch에 대한 이득을 자동 튜닝한다. 자세한 내용은 AUTUTUNE 문서를 확인할 것


TRAINING

TRAINING 모드는 학생들에게 수동 R/C 제어를 가르치기에 가장 이상적이다. 사용자가 rudder 와 throttle에 대해 완전한 제어가 가능하지만, 최대 roll 과 최대/최소 pitch를 제한하여 그 이상 초과하지는 못한다. Plane 3.4 부터는 TRAINING 모드에서 Stall Prevention(실속 방지) Roll 한계도 제한한다.


좀더 자세하게 설명하면 다음과 같다.

    • Roll 이 [LIM_ROLL_CD] 변수보다 작다면, 조종사가 roll을 수동으로 제어함. 이 한계를 넘어서 roll 을 하려고 시도하면 roll 이 그 한계로 고정된다. 비행기가 자동으로 수평으로 돌아오지 않지만, 그 한계는 넘을 수 없다. 피치도 마찬가지다. [LIM_PITCH_MIN] 또는 [LIM_PITCH_MAX] 한계에 도달하기 전까지는 조종사가 수동으로 제어하지만, 이 한계를 넘어갈 수 없다.
    • 회전을 할때는 비행콘트롤러가 요청된 기울임 각도(bank angle)와 대기 속도를 감시한다. 요청된 기울임 각도가 실속속도 이상으로 충분하다면 그냥 진행된다. 그렇지 않다면 기울임 각도가 안전한 값으로 제한된다. 실속방지 시스템에서는 최소 25도까지 기울임을 허용한다. (대기속도 추정이 아주 나쁘더라도 계속 기동이 가능하도록 하기 위해)
    • 방향타(rudder)와 Throttle은 완전히 사용자가 수동으로 제어할 수 있다.


ACRO

ACRO(acrobatic)은 고급 사용자용 모드로서, attitude lock 이 있는 rate 기반의 안정화를 제공한다. (MANUAL 은 피하면서도) FBWA 나 STABILIZE 모드보다는 더 강하게 밀고 싶은 사람들에게 좋은 선택이다. --- 이하 생략 ---


CRUISE

CRUISE 모드는 FBWB 모드와 약간 비슷하지만, "방향 고정(heading lock)" 기능이 있다. 장거리 FPV 비행에 이상적인 모드이다. 멀리에 있는 물체를 가르키면 정확하게 그 물체를 추적해 가면서 자동적으로 고도, 대기속도 및 방향을 유지한다. --- 이하 생략 ---


AUTO

AUTO 모드는 지상국에서 설정한 미션(GPS 웨이포인트 및 기타 명령)을 따르는 모드이다. AUTO 모드에 들어가면 미션을 재설정하지 않는 이상 최종 수행했던 미션 항목으로부터 다음 항목을 수행한다.


AUTO 모드에서는 기본적으로 조종자가 "stick mixing"을 사용하여 비행에 영향을 미칠 수 있다. 즉 보조익, 승강타, 방향타 입력을 사용하여 FC의 제어를 덮어쓰는 방식으로 비행기를 조종한다. 이 기능은 [STICK_MIXING] 옵션에 의해 결정된다. 기본적으로 stick 믹싱은 FBWA 모드와 동일하게 작동된다.


주의사항 : 

"Home" 위치는 비행기의 실제 GPS 이륙 위치로 가정된다

1. RTL, Loiter, Auto 기타 GPS에 의존적인 모드가 정확하게 작동되려면, 시동을 걸기전 GPS 가 고정되어야 한다.

2. Plane의 경우, 홈 위치는 GPS가 고정된 시점에 최초로 설정된다. 시동해제 될 때까지 계속 갱신된다. 

  - 즉, RTL을 걸면 시동을 건 지점으로 되돌아 온다.
  - 그 위치가 싫다면 랠리점을 설정하면 된다.


Return to Launch(RTL)


RTL 모드는 비행기가 "Home"위치 (비행기를 시동걸었을 때의 위치)로 되돌아가서 다른 명령이 올때까지(혹은 연료가 떨어질 때까지) Loiter 하게 된다. AUTO 모드와 마찬가지로 스틱 믹싱(Stick Mixing)을 사용하여 기체를 수동으로 제어할 수 있다. RTL 모드의 목표 고도는 [ALT_HOLD_RTL] 로 설정한다.


주의사항 : 

"Home" 위치는 비행기의 실제 GPS 이륙 위치로 가정된다

1. RTL, Loiter, Auto 기타 GPS에 의존적인 모드가 정확하게 작동되려면, 시동을 걸기전 GPS 가 고정되어야 한다.

2. Plane의 경우, 홈 위치는 GPS가 고정된 시점에 최초로 설정된다. 시동해제 될 때까지 계속 갱신된다. 

  - 즉, RTL을 걸면 시동을 건 지점으로 되돌아 온다.
  - 그 위치가 싫다면 랠리점을 설정하면 된다.


LOITER

LOITER 모드는 LOITER를 시작한 지점 주변을 선회한다. 고도는 처음 Loiter에 들어온 고도를 유지한다. 선회 반경은 [WP_LOITER_RAD] 변수로 제어하지만,  [NAV_ROLL_CD]와 [NAVL1_PERIOD]에 의해서 제한 받는다. RTL 및 AUTO 모드와 마찬가지로 스틱 믹싱을 사용하여 기체를 수동으로 제어할 수 있다. 


CIRCLE

LOITER 모드와 비슷하지만, 위치를 유지하려고 시도하지 않는다. 기본적으로 비상안전 모드에 사용되며, 비상안전 이벤트가 발생했을 때, RTL로 전환하기 전에 20초간 CIRCLE 모드로 대기한다.


CIRCLE 모드는 의도적으로 매우 보수적인 모드로서, GPS 위치에 의존하지 않는다. GPS가 정지되었을 때 사용되기 때문이다. 기울기 각도는 [LIM_ROLL_CD] /3 으로 설정되며, 가속도계 교정에 GPS 속도 데이터가 없이도 가능한한 안정을 유지하려고 시도한다.


CIRCLE 모드는 처음 선회를 시작한 고도를 유지하기 위해 Throttle 및 핏치 제어를 사용한다.


GUIDED

GUIDED 모드는 미션에서 설정하지 않고 지도상의 한점으로 비행체를 날라가도록 하는데 사용된다. 대부분의 지상국은 "Click to Fly to" 기능을 지원하는데, 여기에서 지도상에 한점을 클릭하면 비행체가 그 지점으로 날라간 후 LOITER 한다.


또다른 주요한 용도는 geo-fencing이다. geo-fence 를 침범하면 비행체는 GUIDED 모드로 들어가서 미리 정해둔 geo-fence 회귀점으로 향하고, 조종자가 제어권을 받을 때까지 LOITER 선회하게 된다.


TAKEOFF

자동 이륙은 미션콘트롤에서만 설정할 수 있다. 이륙 미션은 이륙 핏치와 목표 고저를 지정할 수 있다. 이륙동안, 기체은 THR_MAX에서 지정된 최대 쓰로틀을 사용하여 이륙한다. 이륙미션은 고정익이 지정한 목표고도에 도달했을 때 완료된 것으로 간주된다.


이륙전, 기체가 바람을 향하고, 활주로 방향으로 정렬(wheedled takeoff시)하는 것이 중요하다. 기체는 이륙동안 최초의 비행기 방향을 기준으로 방향을 유지하려고 시도한다. 자동 이륙을 위해서는 전자나침판을 정확하게 교정하고 활성화하는 것이 좋다. GPS 방향은 잘못된 방향으로 이끌기 쉽기 때문이다.


바퀴달린 비행기를 사용할 경우, ground steering 제어를 위하여 WHEELSTEER_* PID 설정을 확인해야 한다. 손으로 이륙시키거나 catapult를 사용할 경우, TKOFF_THR_MINACC 와TKOFF_THR_MINSPD 매개변수를 확인하라.


LAND 

자동 착륙은 미션 콘트롤에서만 사용할 수 있다. 비행콘트롤러가 쓰로틀과 고도를 제어한다. 목표 고도로 부터 LAND_FLARE_ALT 미터만틈 가까워지거나, 목표 착륙점으로부터 LAND_FLARE_SEC초 이내이면, 기체는 LAND_PITCH_CD 피치각(centi degree)로 "flare"하고 마지막 접근을 위해 방향을 고정한다.


안정적인 자동 이착륙을 설정하는 것은 기체에 따라 아주 달라지며, 먼저 기체를 FBWA모드로 날리면서 경험을 쌓은 후, 매뉴얼이나 FBWA모드에서 제어를 넘겨받기
Setting up Plane for reliable auto-takeoff and landing is very airframe dependent, and it is recommended that you first get some experience flying your aircraft in FBWA mode, and be ready to take over control in manual or FBWA mode the first few times you use an automatic takeoff or landing.

아울러 전체 파라미터 목록을 살펴보아야 한다. 여러가지 상황에서 이착륙을 제어할 수 있는 매개변수가 많이 있기 때문이다.


===

원문 : http://ardupilot.org/plane/docs/flight-modes.html


이전글 : http://www.internetmap.kr/entry/arming-your-plane


다음글 : http://www.internetmap.kr/entry/Plane-Tuning


Posted by 푸른하늘이

댓글을 달아 주세요

드론/쿼드콥터2015. 9. 16. 22:06

이 글은 APM:Copter (즉, ArduPilot 중 멀티콥터용 모듈)에 들어 있는 여러가지 비행모드를 해설한 글입니다. 원본 글은 여기입니다.


APM:Copter 에는 14개의 비행 모드가 있습니다. (NAZA M V2에 단 3개가 있는 것에 비해 정말 많네요. 아... 엊그제 Follow Me 모드와 POI 모드 두개가 더 추가되었습니다.) 이중 10개 정도가 자주 사용된다고 합니다. 


참고로 비행모드 설정방법은 여기를 확인하시기 바랍니다.


Stabilize Mode(평형모드)

  • 기체 조종을 완전히 수동으로. 단 roll 과 pitch는 자동으로 평형을 잡아줌
  • 바람이 불 경우, roll 과 pitch를 계속 조종해야 함
  • yaw를 조종하면 방향이 바뀌고 손을 놓으면 그 방향으로 유지됨
  • throttle 값이 평균 모터 속도값으로 사용됨. 고도를 유지하려면 throttle도 계속 조종해야 함.
  • 조종하기가 쉽지 않으므로 초보의 경우엔 Alt hold 혹은 Loiter 모드를 사용할 것
Stabilize 모드에 관한 자세한 내용, 튜닝방법은 여기를 보라.

Alt Hold Mode(고도 유지 모드)

  • roll/pitch/yaw를 조종할 수 있음. 고도를 일정수준에서 유지시켜줌
  • roll/pitch/yaw의 조종은 Stabilize Mode와 동일
  • 고도는 기압계(barometer)를 이용하여 측정. 날씨 급변할 경우 고도 흔들릴 수 있음. Sonar가 장착되어 있고 8미터 이하인 경우 Sonar 값을 사용
  • 쓰로틀 스틱이 40-60% 범위내에 있으면 현재 고도가 유지됨.

Loiter Mode(위치 고정 모드)

  • 현재의 위치, 방향 및 고도를 유지. 기체를 조종할 수 있으며 스틱을 놓으면 그 위치를 지킴
  • GPS 신호가 좋고, 자기장 간섭이 적으며, 진동이 없어야 좋은 결과를 얻을 수 있음.
  • Pitch/Roll을 조종하면 수평위치를 바꿀 수 있음
  • Throttle을 사용하여 수직위치 변경 (Alt Hold 모드와 동일)
  • 방향은 Yaw 로 조종.

RTL(Return to Launch) Mode(집으로 모드)

  • 현재 위치에서 떠나, Home 위치(arming 한 위치) 위로 돌아옴
  • 15 미터 이하일 경우엔 15미터를 상승한 후 돌아오고, 더 높을 때는 그 고도를 유지하여 돌아옴

  • 반드시 GPS Lock 이 된 후 기동해야 함. (compass 없는 경우 APM의 파란색 LED가 계속 켜져 있음. compass 있는 경우에는 파란색 LED가 계속 깜박임)
  • RTL_FINAL_ALT 를 0으로 하면 자동으로 착륙

Auto Mode(자동 모드)

  • 오토파일럿에 미리 프로그램된 미션 스크립트(mission script)에 따라 이동하는 모드. 미션 스크립트는 운항명령(navigation command), 즉 웨이포인트(waypoint)와, DO 명령(사진 촬영과 같이 콥터의 위치와는 관계없는 명령)으로 구성된다.
  • 미션 스크립트에 관한 정보는 여기 참고

  • 자동모드는 고도유지 모드와 로이터 모드를 포함하므로, 이 두가지가 잘 되는 것을 확인한 후 사용할 것
  • 진동 level 과 전자나침반 level 이 적정한 수준인지를 포함한 모든 요구사항이 만족되어야 하며, GPS의 HDOP가 2.0 이하이어야 함.
  • 자동모드도 비행모드 설정 스위치로 설정해야 함
  • 멀티곱터가 지상에 있는 상태에서 시작한다면, throttle을 최대 아래로 하고, Auto 모드로 설정한 후, throttle을 올린다. throttle이 0 이상이 되는 순간부터 mission을 수행한다.
  • 공중에 떠 있는상태에서 시작한다면, 모드 스위치를 Auto로 돌리는 순간부터 첫번째 명령을 수행한다. 첫번째 명령이 Take off(이륙)인데 이미 공중에 떠 있는 상태라면 이를 완료했다고 판단하고 두번째 명령부터 수행한다.
  • 자동모드를 수행중 조종기에서 다른 모드(Loiter 등)로 바꾸면 즉시 콘트롤을 할 수 있다. 이상태에서 다시 자동모드로 돌리면 맨처음 명령부터 다시 수행한다.
  • 미션 수행중에는 roll 과 pitch 명령은 무시한다. yaw의 명령은 조종기로 지정할 수 있다. (콥터 방향, 즉 카메라의 방향 수정가능) 단 다음 Waypoint로 가면 autopilot에서 다시 콘트롤한다.

Acro Mode(아크로 모드)

  • 아크로모드는 RC 스틱으로 회전 각속도를 조정함. 스틱을 놓으면 현재의 기울기 유지. 
  • Flips Rolls와 같은 곡예비행, 부드럽고 빠른 콘트롤이 필요한 FPV 등에 유용
  • throttle은 완전 매뉴얼. 기체가 기울어져도 보상을 하지 않음. throttle을 최소로 내리면 모터가 최저속도로.
  • 아크로 모드는 로칼 좌표계. 기체를 기준으로 r/p/y가 정해짐. 반면 스포츠 모드는 지구를 기준으로 정해짐
  • 가장 조종하기가 힘듦. 

Sport Mode(스포츠 모드)

  • 고도 고정 모드(Alt hold) + 비율 조정 안정화(rate controlled stabilize)
  • FPV를 날리거나, dolly shot 혹은 fly by 등의 기법으로 촬영할 때 유용하도록 개발됨. 기체를 특정한 각도로 설정하면 그것이 유지됨
  • 조종기로 roll, pitch, yaw로 회전률을 설정할 수 있음. 스틱을 놓아도 고도는 유지됨
  • 45도 이상 기울어지지는 않음
  • 고도에 대해서는 고도 고정모드와 동일. 따라서 Throttle 이 중앙에서 10% 범위내에 있으면 고도가 유지됨

Drift 모드(드리프트 모드)

  • 멀티콥터를 자동 coordinated turn 이 되는 비행기처럼 날릴 수 있음
  • Yaw 와 Pitch는 조종할 수 있으나, Roll은 AutoPilot이 자동으로 조종. Mode 2를 사용할 경우 하나의 스틱만으로 직관적으로 콘트롤 할 수 있음.
  • 평형모드(Stablize Mode)와 같이 throttle을 마음대로 조종가능.

Guided Mode(가이드 모드)

  • 전통적인 비행모드가 아님. 스위치에 할 수 없음.
  • 가이드 모드는 지상국(Mission Planner 등)과 Telemetry radio가 있어야 함.
  • Mission planner 지도에서 지점을 찍으면 그곳으로 이동함. 위치에 도착하면 hovering.
  • Follow me 모드도 가이드 모드를 사용함.
  • 좀 더 자세한 내용은 별도의 문서를 참고할 것


Circle Mode(원 모드)

  • 지정한 점을 중심으로 회전. 이때 기체 앞방향이 지정한 점을 향함.
  • CIRCLE_RADIUS로 지정할 수 있는데, 0으로 지정하면 그 지점에서 360도 회전함
  • roll 과 pitch 에 대해서는 콘트롤 불가. 높이 조정은 가능

Pos Hold Mode

  • AC3.2에서 새로 등장한 모드 
  • Loiter(위치 고정 모드)와 거의 비슷(위치/방향/고도가 일정하게 유지됨) 그러나 스틱을 조작하면 곧바로 기울기 각도로 반영되어 훨씬 자연스러운 느낌.
  • Loiter 모드는 수평이동 속도를 제어하는데, Pos Hold 모드는 기울기 각을 제어함


Land Mode (착륙 모드)

  • 10미터 까지는 일반 Alt Hold 모드 (WPNAV_SPEED_DN에서 지정한 속도로)에 따라 하강함.
  • 10미터 이하에서는 LAND_SPEED에 지정한 속도로 하강
  • 지면에 도달하면 자동으로 모터를 끄고 disarm. 

Brake Mode(브레이크 모드)

  • 브레이크 모드를 켜면 가능한 한 빨리 정지. GPS/나침반/무진동이 필요함. 
  • 콘트롤러를 조작할 수 없음. 다른 모드로 바꾸어야만 조작가능

Follow Me Mode(추적 모드)

  • 내가 움직이면 멀티콥터가 따라오게 함. telemetry radio 와 지상국이 필요. PC, Mac 등을 사용할 수도 있으나, 휴대폰이나 타블렛을 지상국으로 사용하는 게 편함
  • 필요한 장비
    • telemetry 가 달린 멀티콥터
    • 랩탑
    • GPS USB dongle. 

Simple and Super Simple Mode

  • 멀티콥터의 방향과 관계없이 조종자의 위치를 기준으로 조종. 조종에 익숙하지 않은 초보자나, 아주 멀리 있어 방향을 확인하기 힘든 경우에 유용
  • Simple 모드와 Super Simple 모드는 아크로 모드와 드리프트 모드를 제외하고 다른 모드와 함께 사용할 수 있음.
  • Simple Mode는 멀티콥터 이륙시 방향을 기준으로 전자나침반에 따라 이동함
  • Super Simple Mode는 이륙지점을 기준으로 (GPS 신호가 좋아야함). 


Posted by 푸른하늘이

댓글을 달아 주세요