'픽스호크 비행모드'에 해당되는 글 7건

  1. 2017.06.29 귀환(RTL) 모드
  2. 2017.06.29 자동(Auto) 모드
  3. 2017.06.29 위치고정(PosHold) 모드
  4. 2017.06.29 로이터(Loiter) 모드
  5. 2017.06.29 고도유지(Alt Hold) 모드
  6. 2017.06.29 안정화(Stabilize) 모드
  7. 2017.06.29 콥터 비행모드(Copter Flight Modes)
드론/쿼드콥터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 푸른하늘 푸른하늘이

댓글을 달아 주세요