A method for controlling an unmanned aerial vehicle within an environment , the method comprising: generating a first signal to cause the unmanned aerial vehicle to navigate within the environment ; receiving, using a plurality of sensors carried by the unmanned aerial vehicle , sensing data pertaining to at least a portion of the environment ; generating, based on the sensing data, an environmental map representative of at least the portion of the environment ; detecting, using the environmental map, one or more obstacles (108a-d) situated in the portion of the environment ; and generating, using the environmental map, a second signal to cause the unmanned aerial vehicle to navigate so as to avoid the one or more obstacles (108a-d), characterized in that the plurality of sensors comprise one or more vision sensors and one or more proximity sensors; receiving the sensing data comprises receiving first sensing data from the one or more vision sensors, the first sensing data including depth information for the environment, and receiving second sensing data from the one or more proximity sensors, the second sensing data including depth information for the environment; and generating the environmental map comprises generating the environmental map including depth information for the environment using the first and second sensing data, wherein depth information is information regarding distances of one or more objects from the unmanned aerial vehicle and/or the respective sensor, and wherein, once the environmental map has been generated, navigating the unmanned aerial vehicle within the environment is based on the depth information included in the environmental map. generating a first signal to cause the unmanned aerial vehicle to navigate within the environment ; receiving, using a plurality of sensors carried by the unmanned aerial vehicle , sensing data pertaining to at least a portion of the environment ; generating, based on the sensing data, an environmental map representative of at least the portion of the environment ; detecting, using the environmental map, one or more obstacles (108a-d) situated in the portion of the environment ; and generating, using the environmental map, a second signal to cause the unmanned aerial vehicle to navigate so as to avoid the one or more obstacles (108a-d), characterized in that the plurality of sensors comprise one or more vision sensors and one or more proximity sensors; receiving the sensing data comprises receiving first sensing data from the one or more vision sensors, the first sensing data including depth information for the environment, and receiving second sensing data from the one or more proximity sensors, the second sensing data including depth information for the environment; and generating the environmental map comprises generating the environmental map including depth information for the environment using the first and second sensing data, receiving the sensing data comprises receiving first sensing data from the one or more vision sensors, the first sensing data including depth information for the environment, and receiving second sensing data from the one or more proximity sensors, the second sensing data including depth information for the environment; and generating the environmental map comprises generating the environmental map including depth information for the environment using the first and second sensing data, wherein depth information is information regarding distances of one or more objects from the unmanned aerial vehicle and/or the respective sensor, and wherein, once the environmental map has been generated, navigating the unmanned aerial vehicle within the environment is based on the depth information included in the environmental map. <EOS>