-
Notifications
You must be signed in to change notification settings - Fork 0
[VTOL] Fail Safe
- problem -> Quad transution -> manual
- manual 실패 ->home return
- problem -> Quad transution -> manual
| Parameter | Description | Default |
|---|---|---|
| COM_RC_OVERRIDE | auto modes and for offboard mode에서 Position mode(안전한 manual)로 강제 전화하는 코드.(배터리가 부족 상황 제외) |
1 |
| COM_RC_STICK_OV | Position Mode 에서 스틱 움직임의 양 설정 (if COM_RC_OVERRIDE is enabled). | 30% |
- home return
- 사용할 QGC제공 타입 RTL_TYPE=0 : 이 일정 고도 상승 후 홈 설정된 포인트로 복귀
- RTL_TYPE=0 Parameter
| Parameter | Description | Default |
|---|---|---|
| RTL_RETURN_ALT | RTL_CONE_ANG이 0도일 때 Return 할 때의 고도 | 60m |
| RTL_DESCEND_ALT |
높은 고도에서 하강속도를 줄이거나 멈출 최소 고도 |
30m |
| RTL_LAND_DELAY | ESCEND_ALT`에서 hover하는 시간 - 기본으로는 이 시간이 짧아서 속도를 줄이고 바로 착륙함. 이 시간은 착륙 기어가 배치될 시간을 범(자동 트리거) |
0.0s |
| RTL_MIN_DIST | RTL의 return 고도를 설장하는 홈 반경 이 반경안에 있으면 RTL_RETURN_ALT로 가지 않고 현제고도와 RTL_DESCEND_ALT중 높은 고도를 유지 |
10.0m |
| RTL_CONE_ANG | RTL return altitude를 설정하는 각도 0이면 RTL_RETURN_ALT이나 그보다 높은 고도로 집으로 옴 |
45degree |
3. 시스템 장애 명령어
- SYS_FAILURE_EN 활성화하기(parameter)
- px4 실행 터미널에서 원하는 실패 코드 입력하기
사용 명령어들 The full syntax of the [failure]
failure <component> <failure_type> [-i <instance_number>]
ex) failure battery off
-
component:
- 센서:
-
gyro: 자이로 -
accel: 가속도계 -
mag: 자기계 -
baro: 기압계 -
gps: GPS -
optical_flow: 광류 센서 -
vio: 시각적 관성 주행 거리 -
distance_sensor: 거리 센서(거리 측정기) -
airspeed: 대기속도 센서
-
- 시스템:
-
battery: 배터리 -
motor: 모터 -
servo: 서보 -
avoidance: 회피 -
rc_signal: RC 신호 -
mavlink_signal: MAVLink 신호(데이터 텔레메트리)
-
- 센서:
-
failure_type:
-
ok: 정상적으로 게시합니다(실패 주입 비활성화). -
off: 게시를 중지합니다. -
stuck: 매번 같은 값을 보고합니다(센서 오작동을 나타낼 수 있음). -
garbage: 무작위 노이즈를 게시합니다. 초기화되지 않은 메모리를 읽는 것처럼 보입니다. -
wrong: 잘못된 값을 게시합니다(여전히 합리적으로 보이거나 "쓰레기"가 아님). -
slow: 낮은 속도로 게시합니다. -
delayed: 상당한 지연으로 유효한 데이터를 게시합니다. -
intermittent: 간헐적으로 게시합니다.
-
- instance number(선택 사항): 영향을 받는 센서의 인스턴스 번호입니다. 0 (기본값) 지정된 유형의 모든 센서를 나타냅니다.
| Name | Description | [Min, Max] (Incr.) | Default | Current |
|---|---|---|---|---|
| COM_FAIL_ACT_T (FLOAT) | Fail-safe로 들어가기 전에 (RTL, Land, Hold), 사용자가 인식할 수 있도록 COM_FAIL_ACT_T 초 동안 Hold 모드에서 대기. 이 시간 동안 사용자는 스틱 오버라이드 기능을 통해 제어할 수 없음 (COM_RC_OVERRIDE 참조). 이후 설정된 Fail-dafe가 트리거되고 사용자는 스틱 오버라이드를 사용할 수 있음. 0 값은 지연을 비활성화하고 사용자는 스틱 움직임을 통해 제어할 수 없음 (모드 전환은 여전히 허용됨). |
[0.0, 25.0] | 5s | 5s |
| Action | Description |
|---|---|
| None/Disabled | 아무런 동작도 하지 않음. Failsafe 상태가 무시됨. |
| Warning | 경고 메시지가 전송됨 (예: QGroundControl로). |
| Hold mode | 차량이 Hold 모드에 들어감 (MC) 또는 Hold 모드 (FW)에 들어가 각각 호버링 또는 원을 그림. VTOL 차량은 현재 모드 (MC/FW)에 따라 대기함. |
| Return mode | 차량이 Return 모드에 들어감. Return 동작은 아래의 Return 설정에서 설정할 수 있음. |
| Land mode | 차량이 Land 모드에 들어감 (MC) 또는 Land 모드 (FW)에 들어가 착륙함. VTOL은 먼저 MC 모드로 전환됨. |
| Disarm | 모터를 즉시 정지시킴. |
| Flight termination | 모든 컨트롤러를 끄고 모든 PWM 출력을 failsafe 값으로 설정 (예: PWM_MAIN_FAILn, PWM_AUX_FAILn). failsafe 출력은 낙하산 배치, 착륙 기어 작동 또는 다른 작업을 수행하는 데 사용할 수 있음. 고정익 차량의 경우 차량을 안전하게 활공할 수 있음. |
| Setting | Parameter | Description | Default | Current |
|---|---|---|---|---|
| Failsafe Action | COM_LOW_BAT_ACT | 용량이 Battery Failsafe Level이하로 떨어질 때 경고, 복귀 또는 착륙을 수행하거나, 아래의 각 수준 설정에 따라 경고 후 복귀, 착륙을 수행 : warning(0), Land mode(2), Rerurn at critical level, land at eemr gency level(3) | 0 | 2 |
| Battery Warn Level | BAT_LOW_THR | 경고(또는 기타 조치)를 위한 용량 백분율 | 0.15 | 0.15 |
| Battery Failsafe Level | BAT_CRIT_THR | 복귀 조치(또는 단일 조치가 선택된 경우 다른 조치)를 위한 용량 백분율 | 0.07 | 0.07 |
| Battery Emergency Level | BAT_EMERGEN_THR | 즉시 착륙 조치를 트리거하는 용량 백분율 | 0.05 | 0.05 |
| Setting | Parameter | Description | Default | Current |
|---|---|---|---|---|
| Manual Control Loss Timeout | COM_RC_LOSS_T | 수신이 끊기고 manual이 손실된 것으로 간주하는 시간. 값을 짧게 유지. 수신 끊기기전 신호로 계속 작동함 | 0.5s | 0.5s |
| Failsafe Reaction Delay | COM_FAIL_ACT_T | COM_RC_LOSS_T트리거후 Failsafe가 작동하는데 걸리는 시간. 이 시간동안 Hold모드임. | 5s | 5s |
| Failsafe Action | NAV_RCL_ACT | Set RC loss failsafe mode :Hold mode(1), Return mode(2), Land mode(3), Terminate(5), Disarm(6) | 2 | 2 |
| RC Loss Exceptions | COM_RCL_EXCEPT | manual 손실을 무시하는 모드를 설정 : Mission, Hold, Offboard. | 0 | 0 |
| Setting | Parameter | Description | Default | Current |
|---|---|---|---|---|
| Data Link Loss Timeout | COM_DL_LOSS_T | 데이터 연결이 끊긴 후 failsafe가 트리거되기까지의 시간. | 10s | 10s |
| Failsafe Action | NAV_DLL_ACT | Disabled(0), Hold mode(1), Return mode(2), Land mode(3), Terminate(5), Disarm(6). | 0 | 2 |
| Setting | Parameter | Description | Default | Current |
|---|---|---|---|---|
| Action on breach | GF_ACTION | None(0), Warning(1), Hold mode(2), Return mode(3), Terminate(4), Land(5). | 2 | 2 |
| Max Radius | GF_MAX_HOR_DIST | geofence 실린더의 수평 반경. 0이면 geofence 비활성화. | 0.0m | 0m |
| Max Altitude | GF_MAX_VER_DIST | geofence 실린더의 높이. 0이면 geofence 비활성화. | 0.0m | 0m |
| Setting | Parameter | Description | Default | Current |
|---|---|---|---|---|
| Geofence source | GF_SOURCE | 위치 소스가 추정된 global position인지 GPS 장치로부터 직접 받은 것인지 설정. value : GPOS(0), GPS(1) |
0 | 0 |
| Preemptive geofence triggering | GF_PREDICT | (실험적) 차량의 현재 움직임이 breach 할 것이 예상될 경우 지오펜스를 트리거 | 0(Disables) | 0 |
| Circuit breaker for flight termination | CBRK_FLIGHTTERM | 비행 종료 조치 활성화/비활성화 (기본적으로 비활성화). | 121212 | 121212 |
| Setting | Parameter | Description | Default | Current |
|---|---|---|---|---|
| Climb to altitude | RTL_RETURN_ALT | 복귀 비행을 위해 차량이 이 최소 높이까지 상승 (이하인 경우). | 60m | 60.0m |
| Return behaviour | 복귀 후 선택 목록: 착륙, 체공 및 착륙하지 않음, 또는 지정된 시간동안 체공 후 및 착륙. | |||
| Loiter Altitude | RTL_DESCEND_ALT | 체공으로 복귀가 선택된 경우 차량이 유지할 고도를 지정할 수 있음. | 30m | 30.0m |
| Loiter Time | RTL_LAND_DELAY | 착륙전 체공시간을 정할 수 있음 | 0.0s | 0.0s |
Return behaviour는 RTL_LAND_DELAY 에 정의되어있음 Return mode참고.
| Setting | Parameter | Description | Default |
Current |
|---|---|---|---|---|
| Disarm After | COM_DISARM_LAND | 착륙 후 차량이 꺼지도록하는 체크박스를 선택. 값은 0이 아니어야 하지만 1초의 분수일 수 있음. | 2.0s | 2.0s |
| Landing Descent Rate (MC only) | MPC_LAND_SPEED | 착륙 하강 속도. | 0.7m/s | 0.7m/s |
PX4 position가 허용 수준 이하로 떨어질 경우 (GPS 손실로 인한 가능성 있음) 위치 fail-safe 조치 트리거.
| Parameter | Setting | Description | Default |
Current |
|---|---|---|---|---|
| COM_POSCTL_NAVL (INT32) | Position control navigation loss response | 위치 제어를 위한 내비게이션 정확도가 충분하지 않을 때 사용할 비행 모드를 설정. Altitude/Manual이 선택된 경우 : callback 후 원격 제어 사용을 가정. 높이 추정치가 있으면 Altitude 모드로 전환, 그렇지 않으면 Manual이 모드로 전환. Land/Descend이 선택된 경우 : callback 후 원격 제어 사용을 가정하지 않음. 높이 추정치가 있으면 착륙 모드로 전환, 그렇지 않으면 하강 모드로 전환. 0 : Altitude/Manual (Default) 1 : Land/Descend |
0 | 0 |
| Parameter | Description | Default |
Current |
|---|---|---|---|
| COM_POS_FS_DELAY | loss of position 후 failsafe가 트리거되기 전까지의 지연 시간. | 1s | 1s |
| COM_POSCTL_NAVL | 임무 중 위치 제어 내비게이션 손실 반응. Values: 0 (assume use of RC), 1 (Assume no RC) |
0 | 0 |
| 고정익만 사용하는 Para | |||
| FW_GPSF_LT | GPS 회복을 기다리는 로이터 시간 (착륙이나 비행 종료 전). 0으로 설정하여 비활성화할 수 있음. | 30s | 30s |
| FW_GPSF_R | 선회중 고정 roll/bank 각도 | 15.0deg | 15.0deg |
Offboard Loss Failsafe는 Offboard 제어 중에 Offboard 연결이 끊어지면 트리거됩니다. RC 연결의 유무에 따라 다른 Failsafe 행동을 지정할 수 있습니다.
| Parameter | Description | Default |
Current |
|---|---|---|---|
| COM_OF_LOSS_T | Offboard 연결 손실 후 Failsafe 상태가 트리거되기 전까지의 지연 시간. | 1.0s | 1.0s |
| COM_OBL_RC_ACT | RC가 사용 가능한 경우의 Failsafe 조치: Position mode(0), Altitude mode(1), Manual mode(2), Return mode(3), Land mode(4), Hold mode(5), Terminate mode(6), Disarm(7). | 0 | 0 |
The Traffic Avoidance Failsafe은 PX4가 미션중 transponder data에 반응하는것을 허용함.
| Parameter | Description | Default |
Current |
|---|---|---|---|
| NAV_TRAFF_AVOID | The Traffic Avoidance Failsafe: Disabled(0), Warn only(1), Return mode(2), Land mode(3), Position Gold mode(4). | 1 | 1 |
Vtol 기체가 고정익모드로 날지못할때 즉시 회전익 모드로 전환시키는 파라미터
| 매개변수 | 설명 | Default |
Current |
|---|---|---|---|
| COM_QC_ACT | 다중콥터 비행으로 전환 후 쿼드츄트 동작 설정: Warning(-1), Return(0), Land(1), Hold(2). | 0 | 0 |
| VT_FW_QC_HMAX | the quad-chute failsafe가 트리거되지 않는 Maximum quad-chute 높이. 이는 배터리를 방전시키는 high altitude quad-chute descent을 막아줍니다. | 0m | 0m |
| VT_QC_ALT_LOSS | 비명령식 하강 quad-chute 고도 임계값. | 0.0m | 0.0m |
| VT_QC_T_ALT_LOSS | 고정익 천이중 Quad-chute Failsafe가 작동해 회전익으로 전환되는 고도(이고도 이하이면 faildafe 작동) | 20.0m | 20.0m |
| VT_FW_MIN_ALT | 고정익 비행을 위한 홈에서의 최소 고도. 고정익 비행 중 고도가 이 값 아래로 떨어지면 quad-chute 트리거됩니다. | 0.0m | 0.0m |
| VT_FW_QC_R | FW 모드에서 quad-chute 트리거링을 위한 절대 롤 임계값. | 0deg | 0deg |
| VT_FW_QC_P | FW 모드에서 quad-chute 트리거링을 위한 절대 피치 임계값. | 0deg |
0deg |
failure detector은 추락시 flight termination 를 실행시키는 트리거 CBRK_FLIGHTTERM=0 이 기본이면a parachute등 다양한 동작을 설정할 수 있음.
The failure detector는 모든 기체 유형과 모드에서 활성화되지만, 기체가 회전을 할 것으로 예상되는 모드(예: Acro mode (MC), Acro mode (FW), and Manual (FW))에서는 제외됩니다.
장애 감지기는 기체의 자세가 미리 정의된 피치 및 롤 값을 지정된 시간 이상 초과할 경우 트리거되도록 설정
| 매개변수 | 설명 | Default |
Current |
|---|---|---|---|
| CBRK_FLIGHTTERM | 장애 감지기 또는 FMU 손실로 인한 비행 종료 활성화. 기본값 121212 해제. | 121212 | 121212 |
| FD_FAIL_P | 허용 가능한 최대 피치 (도). | 60deg | 60deg |
| FD_FAIL_R | 허용 가능한 최대 롤 (도). | 60deg | 60deg |
| FD_FAIL_P_TTRI | failure 감지FD_FAIL_P f 초과 시간 (기본값 0.3초). | 0.3s | 0.3s |
| FD_FAIL_R_TTRI | failure 감지 FD_FAIL_R 초과 시간 (기본값 0.3초). | 0.3s | 0.3s |
failure detector가 불가능하면 외부 ATS 시스템에 의해 트리거될 수도 있습니다. 외부 트리거 시스템은 비행 컨트롤러 포트 AUX5(또는 AUX 포트가 없는 보드의 경우 MAIN5)에 연결되어야 하며, 아래 매개변수를 사용하여 구성됩니다. (INFO) External ATS is required by ASTM F3322-18. One example of an ATS device is the FruityChutes Sentinel Automatic Trigger System.
| 매개변수 | 설명 | Default |
Current |
|---|---|---|---|
| FD_EXT_ATS_EN | 외부 자동 트리거 시스템(ATS)으로부터 fail-safe를 위해 AUX5 또는 MAIN5에서 PWM 입력 활성화. 기본값: 비활성화. | 0(Disabled) | 0(Disabled) |
| FD_EXT_ATS_TRIG | 외부 자동 트리거 시스템의 fail-safe활성화를 위한 PWM 임계값. 기본값: 1900 ms. | 1900us | 1900us |
Remote control fh (as part of QGroundControl Flight Mode Setup) 위급상황시 긴급 fail-safe명령 기능 ex) stop all motors, or activate Return mode.
모든 모터 끄는 스위치 5초후 재시작 되며 disarm 상태라 다시 arm시켜야함.
Arm/Disarm 스위치는 기본 스틱 기반 Arm/Disarm 메커니즘을 대체하는 기능으로, 모터가 시작/정지되기 전에 의도적인 단계를 포함. 다음과 같은 이유로 기본 메커니즘 대신 사용 가능:
- 스틱 동작보다 스위치를 선호.
- 특정 스틱 동작으로 인해 공중에서 실수로 Arm/Disarm 트리거 방지.
- 지연 없이 즉시 반응.
Arm/Disarm 스위치는 비행 중 Disarm을 지원하는 비행 모드에서 즉시 모터 정지. 포함 모드:
- Manual mode
- Acro mode
- Stabilized
비행 중 디스암을 지원하지 않는 모드에서는 스위치가 비행 중 무시되지만 착륙 감지 후 사용 가능. 포함 모드:
- Position mode
- utonomous modes(예: Mission, Land 등)
즉시 Return mode.작동하는 스위치
이륙이 너무 느리거나 착륙 후에 자동으로 차량을 디스암하도록 타임아웃 설정 가능 (디스암 시 모터의 전원이 차단되어 프로펠러가 회전하지 않음).
The relevant parameters are shown below:
| 매개변수 | 설명 | Default |
Current |
|---|---|---|---|
| COM_DISARM_LAND | 착륙 후 자동 디스암 타임아웃 설정 | 20.s | 20.s |
| COM_DISARM_PRFLT | 이륙이 너무 느린 경우 자동 디스암 타임아웃 설정 | 10.0s | 10.0s |
| [## Further Information](https://docs.px4.io/main/en/config/safety.html#further-information) |
- QGroundControl User Guide > Safety Setup Fail safe 홈페이지 내용 정리 및 QGC 기본 값 확인 / 코드는 추후에
https://docs.px4.io/main/en/simulation/hitl.html
https://docs.px4.io/main/en/config/safety.html
https://docs.px4.io/main/en/simulation/failsafes.html
https://docs.px4.io/main/en/config/safety_simulation.html
- 제가 작성한 1차보고서 & 필기 참고
If you want to ask something,
Please Contact to email or MACH Club
< E-Mail >
giromi@cau.ac.kr (기계 17 김민수)
hansusu1411@gmail.com (전전 20 김한수)
jhwoo200@naver.com (기계 19 우종현)
chc2001@cau.ac.kr (기계 19 정해찬)