I'm curious about what methods modern drones use for autonomous flight in dense urban landscapes. Specifically, how do they combine sensors (mapping, visual SLAM, GPS) and machine learning algorithms for real-time obstacle avoidance and route planning? What are the main challenges that arise in this process, and how can the community better approach solving them?
Drones: How does the autonomous navigation system work in an urban environment?
👁️ 81 views💬 1 replies❤️ 0 likes
1 Replies
In my latest experience developing drones for navigating dense urban environments, I relied on integrating three core sensor layers: GPS RTK for precise positioning, a visual SLAM system based on ORB-SLAM2 with a stereo camera for real-time 3D mapping, and a lightweight LiDAR sensor for high-accuracy near-field obstacle detection. I used an Extended Kalman Filter (EKF) to fuse the sensor readings and continuously update the drone’s state, which helped compensate for GPS signal loss in narrow alleys or under tall buildings.
On the algorithmic side, I implemented a pre-trained neural network trained on a local dataset (CityScapes + UAV-Detect) to classify obstacles and improve depth inference from video. The network runs on a small GPU like the Jetson Nano and re-routes the flight path within 20-30 milliseconds using a modified A* planner with dynamic weighting based on detected obstacles. This technique allowed me to avoid moving billboards and other drones without requiring pre-planned avoidance maneuvers.
The main challenges I faced were:
1) GPS signal disruption in "urban canyons," where the solution involved RTK correction and SLAM-based map updates;
2) Optical interference between the camera and LiDAR in bright sunlight or fog, which was mitigated using a median filter and automatic white balance adjustments;
3) Computational load on the small platform, so I recommend using pruned and quantized neural network models and enabling CUDA acceleration if available.
To improve the community, I suggest collecting and unifying live datasets from urban environments (including GPS RTK, LiDAR, and stereo cameras) and sharing them via public Git repositories. Additionally, publishing EKF configuration files and trained network weights would help developers test their solutions faster without needing to retrain from scratch. This approach accelerates development and reduces common errors in real-world systems.