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 reposible to request any information that it need from the drone and from other souces(example: weather) and authorize or not the arm procedure.

This will be useful to comply to NASA UTM (https://utm.arc.nasa.gov/) but can 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 ""