Arm Authorization

When enabled by setting a parameter on flight stack, the drone will only arm the motors if authorized by a external entity. This external entity is responsible for requesting any information that it needs from the drone and from other sources (example: weather) and whether (or not) to authorize the arming procedure.

This is required to comply with NASA UTM, but may also be useful for private companies.

Authorization Flow

DroneRemote control/QCSArm authorizerInternetRequest armCOMMAND_LONG command=MAV_CMD_ARM_AUTHORIZATION_REQUESTCOMMAND_ACK result=MAV_RESULT_IN_PROGRESS(optional)Request information about mission, battery level and etc.(optional)Request information about weather, aerospace trafic and etc.COMMAND_ACK command=MAV_CMD_ARM_AUTHORIZATION_REQUEST result=ACCEPTED, TEMPORARILY_REJECTED or DENIEDQCS COMMAND_ACK command=MAV_CMD_COMPONENT_ARM_DISARM result=ACCEPTED, TEMPORARILY_REJECTED or DENIEDDroneRemote control/QCSArm authorizerInternet

In case the authorizer need a lot of time to get and process the information is better have another authorization flow to avoid arm the drone at unexpected time.

DroneRemote control/QCSArm authorizerInternetRequest arm1QCS COMMAND_ACK result=TEMPORARILY_REJECTEDCOMMAND_LONG command=MAV_CMD_ARM_AUTHORIZATION_REQUESTCOMMAND_ACK result=MAV_RESULT_IN_PROGRESS(optional)Request information about mission, battery level and etc.(optional)Request information about weather, aerospace trafic and etc.COMMAND_ACK command=MAV_CMD_ARM_AUTHORIZATION_REQUEST result=ACCEPTED, TEMPORARILY_REJECTED or DENIEDQCS STATUSTEXT text=Arm authorization was approved or deniedRequest arm2QCS COMMAND_ACK command=MAV_CMD_COMPONENT_ARM_DISARM result=ACCEPTED, TEMPORARILY_REJECTED or DENIEDDroneRemote control/QCSArm authorizerInternet

Message Parameters

COMMAND_LONG

command=MAV_CMD_ARM_AUTHORIZATION_REQUEST
target_system=system id of arm authorizer
target_component=component id of arm authorizer

COMMAND_ACK

command=MAV_CMD_ARM_AUTHORIZATION_REQUEST
result=ACCEPTED, TEMPORARILY_REJECTED or DENIED
progress/result_param1=if result is TEMPORARILY_REJECTED or DENIED the reason should be set MAV_ARM_AUTH_DENIED_REASON otherwise it should be set as 0
result_param2=if result is ACCEPTED the it should be set with the time in seconds that this authorization is valid otherwise an aditional information about why it was denied should be set. example: for result_param1=MAV_ARM_AUTH_DENIED_REASON_INVALID_WAYPOINT or MAV_ARM_AUTH_DENIED_REASON_AIRSPACE_IN_USE it may have the index of the waypoint that caused it to be denied.
target_system=system id of the drone
target_component=component id of the drone

results matching ""

    No results matching ""