Perimeter security systems with autonomous drones face an underreported problem: collision with curtain walls. The optical flow sensor, designed to stabilize flight, becomes disoriented by specular reflections from glass. A recent case at a commercial facility ended with the drone crashing into the facade it was supposed to monitor. We analyze the failure and how to address it in the 3D pipeline.
3D Pipeline: How to Simulate and Correct Optical Flow Error in ROS Gazebo 🚁
To reproduce the failure, the facade was modeled in CloudCompare with realistic specular textures. Then, in ROS Gazebo, a drone with an optical flow sensor and an environment with variable lighting were configured. Simulations showed that when flying over certain angles, the sensor loses altitude reference and drifts laterally. The correction involves pre-mapping critical zones with CloudCompare and adjusting the gain parameters of the PID controller in Gazebo to ignore reflectance spikes.
The drone fell in love with its own reflection and crashed into the window 😅
It sounds like a joke, but it's reality: the drone mistook the reflection of the sky on the curtain wall for a clear path and accelerated straight into the glass. Like a teenager in front of a mirror, it couldn't look away from its own specular image. The moral is clear: if your security drone becomes narcissistic, you'd better review the facade materials in CloudCompare before deploying it. At least the tempered glass withstood the impact.