Arm, Disarm, Prearm Configuration
기체에는 움직이는 부품이 있으며, 그 중에는 특히 모터와 프로펠러는 전원 공급시 위험할 수 있습니다.
사고의 위험을 줄이기 위하여, PX4는 명확한 상태에서만 부품들의 전원을 공급합니다.
- Disarmed: There is no power to motors or actuators.
- Pre-armed: Motors/propellers are locked but actuators for non-dangerous electronics are powered (e.g. ailerons, flaps etc.).
- Armed: Vehicle is fully powered. 모터와 프로펠러가 동작할 수 있음(위험!)
INFO
Ground stations may display disarmed for pre-armed vehicles. 시동전의 기체는 기술적으로 타당하지는 않지만, "안전"한 상태입니다.
Users can control progression though these states using a safety switch on the vehicle (optional) and an arming switch/button, arming gesture, or MAVLink command on the ground controller:
A safety switch is a control on the vehicle that must be engaged before the vehicle can be armed, and which may also prevent prearming (depending on the configuration). 보통 안전 스위치는 GPS 장치에 붙어있으나, 별도의 부품으로 공급되기도 합니다.
WARNING
A vehicle that is armed is potentially dangerous. 안전 스위치는 의도하지 않게 갑자기시동이 걸리는 것을 방지합니다.
:::
An arming switch is a switch or button on an RC controller that can be used to arm the vehicle and start motors (provided arming is not prevented by a safety switch).
An arming gesture is a stick movement on an RC controller that can be used as an alternative to an arming switch.
MAVLink 명령은 지상국에서 기체의 시동을 걸거나 시동을 해제할 수 있습니다.
PX4는 시동 후 일정 시간 내에 이륙하지 않고, 착륙 후 수동으로 시동 해제하지 않으면, 기체의 시동은 자동으로 해제됩니다. 이것은 시동이 걸린 기체가 지상에서 안전사고를 유발할 수 있는 시간을 줄입니다.
PX4 allows you to configure how pre-arming, arming and disarming work using parameters (which can be edited in QGroundControl via the parameter editor), as described in the following sections.
TIP
Arming/disarming parameters can be found in Parameter Reference > Commander (search for COM_ARM_*
and COM_DISARM_*
).
Arming/Disarming Gestures
기본적으로, 기체는 무선조종장치의 추진 제어 스틱과 방위 제어 스틱을 움직인 후 잠깐 동안 또는 1초 동안 상태를 유지하면 시동을 걸거나 시동을 해제할 수 있습니다.
- Arming: Throttle minimum, yaw maximum
- Disarming: Throttle minimum, yaw minimum
RC controllers will use different sticks for throttle and yaw based on their mode, and hence different gestures:
- Mode 2:
- Arm: Left stick to bottom right.
- Disarm: Left stick to the bottom left.
- Mode 1:
- Arm: Left-stick to right, right-stick to bottom.
- Disarm: Left-stick to left, right-stick to the bottom.
The required hold time can be configured using COM_RC_ARM_HYST. Note that by default (COM_DISARM_MAN) you can also disarm in flight using gestures/buttons: you may choose to disable this to avoid accidental disarming.
매개변수 | 설명 |
---|---|
MAN_ARM_GESTURE | Enable arm/disarm stick guesture. 0 : Disabled, 1 : Enabled (default). |
COM_DISARM_MAN | Enable disarming in flight via switch/stick/button in MC manual thrust modes. 0 : Disabled, 1 : Enabled (default). |
COM_RC_ARM_HYST | Time that RC stick must be held in arm/disarm position before arming/disarming occurs (default: 1 second). |
Arming Button/Switch
An arming button or "momentary switch" can be configured to trigger arm/disarm instead of gesture-based arming (setting an arming switch disables arming gestures). The button should be held down for (nominally) one second to arm (when disarmed) or disarm (when armed).
A two-position switch can also be used for arming/disarming, where the respective arm/disarm commands are sent on switch transitions.
TIP
Two-position arming switches are primarily used in/recommended for racing drones.
The switch or button is assigned (and enabled) using RC_MAP_ARM_SW, and the switch "type" is configured using COM_ARM_SWISBTN.
매개변수 | 설명 |
---|---|
RC_MAP_ARM_SW | RC arm 스위치 채널 (기본값 : 0 - 할당되지 않음). 정의된 경우 지정된 RC 채널(버튼/스위치)이 스틱 제스처 대신 시동용으로 사용됩니다. Note: - This setting disables the stick gesture! - This setting applies to RC controllers. It does not apply to Joystick controllers that are connected via QGroundControl. |
COM_ARM_SWISBTN | 시동 스위치는 순간적으로 동작하는 버튼입니다. - 0 : Arm switch is a 2-position switch where arm/disarm commands are sent on switch transitions.- 1 : Arm switch is a button or momentary button where the arm/disarm command ae sent after holding down button for set time (COM_RC_ARM_HYST). |
INFO
The switch can also be set as part of QGroundControl Flight Mode configuration.
자동 시동 끄기
기본적으로, 기체는 착륙시 시동 해제 되며, 시동후 이륙 시간이 너무 오래 걸리면 자동으로 시동 해제됩니다. 이 기능은 다음 시간 제한을 사용하여 설정됩니다.
매개변수 | 설명 |
---|---|
COM_DISARM_LAND | 착륙후 자동 시동 해제 대기 시간. 기본값: 2s (-1 비활성화). |
COM_DISARM_PRFLT | 이륙 속도가 너무 느리면 자동 시동 해제 시간이 초과됩니다. Default: 10s (<=0 to disable). |
Pre-Arm Checks
To reduce accidents, vehicles are only allowed to arm certain conditions are met (some of which are configurable). Arming is prevented if:
- The vehicle is not in a "healthy" state. For example it is not calibrated, or is reporting sensor errors.
- The vehicle has a safety switch that has not been engaged.
- The vehicle has a remote ID that is unhealthy or otherwise not ready
- A VTOL vehicle is in fixed-wing mode (by default).
- The current mode requires an adequate global position estimate but the vehicle does not have GPS lock.
- Many more (see arming/disarming safety settings for more information).
The current failed checks can be viewed in QGroundControl (v4.2.0 and later) Arming Check Report (see also Fly View > Arming and Preflight Checks).
Note that internally PX4 runs arming checks at 10Hz. A list of the failed checks is kept, and if the list changes PX4 emits the current list using the Events interface. The list is also sent out when the GCS connects. Effectively the GCS knows the status of prearm checks immediately, both when disarmed and armed.
Details
Implementation notes for developers The client implementation is in libevents:
QGC implementation: HealthAndArmingCheckReport.cc.
PX4 also emits a subset of the arming check information in the SYS_STATUS message (see MAV_SYS_STATUS_SENSOR).
Arming Sequence: Pre Arm Mode & Safety Button
The arming sequence depends on whether or not there is a safety switch, and is controlled by the parameters COM_PREARM_MODE (Prearm mode) and CBRK_IO_SAFETY (I/O safety circuit breaker).
The COM_PREARM_MODE parameter defines when/if pre-arm mode is enabled ("safe"/non-throttling actuators are able to move):
- Disabled: Pre-arm mode disabled (there is no stage where only "safe"/non-throttling actuators are enabled).
- Safety Switch (Default): The pre-arm mode is enabled by the safety switch. 안전 스위치가 없으면 시동전 모드가 활성화되지 않습니다.
- Always: Prearm mode is enabled from power up.
기본 설정에서는 시동전에 안전 스위치를 사용하도록 설정합니다. If there is no safety switch the I/O safety circuit breaker must be engaged (CBRK_IO_SAFETY), and arming will depend only on the arm command.
아래 섹션에서는 여러가지 설정의 시작 순서를 자세히 설명합니다.
기본값: COM_PREARM_MODE = Safety and Safety Switch
기본 설정에서는 시동전에 안전 스위치를 사용하도록 설정합니다. 시동전에 이 스위치를 켜면 모든 모터와 액츄에이터를 가동하기 위하여 시동을 걸 수 있습니다. It corresponds to: COM_PREARM_MODE=1 (safety switch) and CBRK_IO_SAFETY=0 (I/O safety circuit breaker disabled).
시작 절차는 다음과 같습니다:
전원 인가
- 모든 액츄에이터를 시동 해제 상태로 잠금
- 시동 걸기 불가능
안전 스위치 누름
- 시스템이 시동전 상태로 전환: 추진 모터를 제외한 모든 액츄에이터 동작 가능(예: 보조익)
- 시스템 안전 장치 꺼짐: 시동 가능
시동 명령 인가
- 시스템에 시동이 걸림
- 모든 모터와 액츄에이터를 움직일 수 있음
COM_PREARM_MODE = Disabled and Safety Switch
When prearm mode is Disabled, engaging the safety switch does not unlock the "safe" actuators, though it does allow you to then arm the vehicle. This corresponds to COM_PREARM_MODE=0 (Disabled) and CBRK_IO_SAFETY=0 (I/O safety circuit breaker disabled).
시작 절차는 다음과 같습니다:
전원 인가
- 모든 액츄에이터를 시동 해제 상태로 잠금
- 시동 걸기 불가능
안전 스위치 누름
- All actuators stay locked into disarmed position (same as disarmed).
- 시스템 안전 장치 꺼짐: 시동 가능
시동 명령 인가
- 시스템에 시동이 걸림
- 모든 모터와 액츄에이터를 움직일 수 있음
COM_PREARM_MODE = Always and Safety Switch
When prearm mode is Always, prearm mode is enabled from power up. 시동 걸기 위하여 여전히 안전 스위치가 필요합니다. This corresponds to COM_PREARM_MODE=2 (Always) and CBRK_IO_SAFETY=0 (I/O safety circuit breaker disabled).
시작 절차는 다음과 같습니다:
- 전원 인가
- 시스템이 시동전 상태로 전환: 추진 모터를 제외한 모든 액츄에이터 동작 가능(예: 보조익)
- 시동 걸기 불가능
- 안전 스위치 누름
- 시스템 안전 장치 꺼짐: 시동 가능
- 시동 명령 인가
- 시스템에 시동이 걸림
- 모든 모터와 액츄에이터를 움직일 수 있음
COM_PREARM_MODE = Safety or Disabled and No Safety Switch
With no safety switch, when COM_PREARM_MODE
is set to Safety or Disabled prearm mode cannot be enabled (same as disarmed). This corresponds to COM_PREARM_MODE=0 or 1 (Disabled/Safety Switch) and CBRK_IO_SAFETY=22027 (I/O safety circuit breaker engaged).
시작 절차는 다음과 같습니다:
- 전원 인가
- 모든 액츄에이터를 시동 해제 상태로 잠금
- 시스템 안전 장치 꺼짐: 시동 가능
- 시동 명령 인가
- 시스템에 시동이 걸림
- 모든 모터와 액츄에이터를 움직일 수 있음
COM_PREARM_MODE = Always and No Safety Switch
When prearm mode is Always, prearm mode is enabled from power up. This corresponds to COM_PREARM_MODE=2 (Always) and CBRK_IO_SAFETY=22027 (I/O safety circuit breaker engaged).
시작 절차는 다음과 같습니다:
- 전원 인가
- 시스템이 시동전 상태로 전환: 추진 모터를 제외한 모든 액츄에이터 동작 가능(예: 보조익)
- 시스템 안전 장치 꺼짐: 시동 가능
- 시동 명령 인가
- 시스템에 시동이 걸림
- 모든 모터와 액츄에이터를 움직일 수 있음
매개변수
매개변수 | 설명 |
---|---|
COM_PREARM_MODE | 시동전 모드로 진입하는 상태입니다. 0 : Disabled, 1 : Safety switch (prearm mode enabled by safety switch; if no switch present cannot be enabled), 2 : Always (prearm mode enabled from power up). Default: 1 (safety button). |
CBRK_IO_SAFETY | 입출력 안전을 위한 회로 차단. |