A system for controlling unmanned vehicles, the system comprising: one or more processors; and a non-transitory computer-readable storage medium storing instructions, which when executed by the one or more processors cause the one or more processors to: receive, from a first unmanned vehicle of a plurality of unmanned vehicles, movement types that are supported by the first unmanned vehicle; determine, based on the movement types, a plurality of movement control models that enable control of the first unmanned vehicle; receive a command to control the plurality of unmanned vehicles; determine, for the plurality of unmanned vehicles, a plurality of sets of multiple movement control models for controlling the plurality of unmanned vehicles, wherein each set of multiple movement control models is associated with an unmanned vehicle of the plurality of unmanned vehicles, and wherein each movement control model of the plurality of sets of the multiple movement control models translates commands into movement instructions for corresponding unmanned vehicles; determine, for the first unmanned vehicle of the plurality of unmanned vehicles based on the command, a first movement control model of the plurality of movement control models that enable controlling the first unmanned vehicle and is required to execute the command; translate, using the first movement control model, the command into a set of movement instructions for the first unmanned vehicle of the plurality of unmanned vehicles; determine, for the first unmanned vehicle of the plurality of unmanned vehicles, a communication protocol of a plurality of communication protocols for communicating with the first unmanned vehicle; format the set of movement instructions according to the communication protocol associated with the first unmanned vehicle; and transmit the set of movement instructions formatted according to the communication protocol associated with the first unmanned vehicle to the first unmanned vehicle. one or more processors; and a non-transitory computer-readable storage medium storing instructions, which when executed by the one or more processors cause the one or more processors to: receive, from a first unmanned vehicle of a plurality of unmanned vehicles, movement types that are supported by the first unmanned vehicle; determine, based on the movement types, a plurality of movement control models that enable control of the first unmanned vehicle; receive a command to control the plurality of unmanned vehicles; determine, for the plurality of unmanned vehicles, a plurality of sets of multiple movement control models for controlling the plurality of unmanned vehicles, wherein each set of multiple movement control models is associated with an unmanned vehicle of the plurality of unmanned vehicles, and wherein each movement control model of the plurality of sets of the multiple movement control models translates commands into movement instructions for corresponding unmanned vehicles; determine, for the first unmanned vehicle of the plurality of unmanned vehicles based on the command, a first movement control model of the plurality of movement control models that enable controlling the first unmanned vehicle and is required to execute the command; translate, using the first movement control model, the command into a set of movement instructions for the first unmanned vehicle of the plurality of unmanned vehicles; determine, for the first unmanned vehicle of the plurality of unmanned vehicles, a communication protocol of a plurality of communication protocols for communicating with the first unmanned vehicle; format the set of movement instructions according to the communication protocol associated with the first unmanned vehicle; and transmit the set of movement instructions formatted according to the communication protocol associated with the first unmanned vehicle to the first unmanned vehicle. receive, from a first unmanned vehicle of a plurality of unmanned vehicles, movement types that are supported by the first unmanned vehicle; determine, based on the movement types, a plurality of movement control models that enable control of the first unmanned vehicle; receive a command to control the plurality of unmanned vehicles; determine, for the plurality of unmanned vehicles, a plurality of sets of multiple movement control models for controlling the plurality of unmanned vehicles, wherein each set of multiple movement control models is associated with an unmanned vehicle of the plurality of unmanned vehicles, and wherein each movement control model of the plurality of sets of the multiple movement control models translates commands into movement instructions for corresponding unmanned vehicles; determine, for the first unmanned vehicle of the plurality of unmanned vehicles based on the command, a first movement control model of the plurality of movement control models that enable controlling the first unmanned vehicle and is required to execute the command; translate, using the first movement control model, the command into a set of movement instructions for the first unmanned vehicle of the plurality of unmanned vehicles; determine, for the first unmanned vehicle of the plurality of unmanned vehicles, a communication protocol of a plurality of communication protocols for communicating with the first unmanned vehicle; format the set of movement instructions according to the communication protocol associated with the first unmanned vehicle; and transmit the set of movement instructions formatted according to the communication protocol associated with the first unmanned vehicle to the first unmanned vehicle.