A non-transitory computer readable medium having stored thereon computer-executable instructions which, when executed by a processor, causes the processor to operate an aerial navigation system having an aerial robotic device suspended from a vertical wire connected to a carrier device, the carrier device connected to a plurality of anchor points mounted on corresponding plurality of upright members at a substantially same height from a ground through a set of horizontal wires in a bounded horizontal plane mutually subtended by the plurality of anchor points, and wherein the aerial robotic device is moveable within an aerial movement volume defined between the ground, the plurality of upright members and the horizontal plane, wherein the processor is configured to:
- detect one or more stationary obstacles located in the Aerial Movement Volume;
- create a 3D map representing the Aerial Movement Volume together with one or more bounding boxes enclosing each stationary obstacle in the Aerial Movement Volume;
- compute an optimal route for the aerial robotic device using an optimisation algorithm, so that the aerial robotic device reaches a required destination while avoiding an intervening stationary obstacle;
- determine control parameters for a plurality of electric stepper motors driving the carrier device and the aerial robotic device based on the computed optimal route for the aerial robotic device;
- and
- navigate the aerial robotic device in accordance with the computed optimal route to enable the aerial robotic device to reach the required destination while avoiding intervening stationary obstacles.