Can Ultrasonic Sensors Make Drone Positioning Affordable?
In an attempt to make drone positioning more affordable, James Bruton developed an experimental system based on ultrasonic sensors.
Determining your exact location (or the exact location of a robot or drone) within 3D space is a difficult thing to do. Standard GPS accuracy is very low, which is why your navigation system or app sometimes thinks you're traveling on a nearby road and not the road you're actually on. GPS-RTK (Global Positioning System-Real Time Kinematics) can improve that dramatically, but is expensive due to the need for additional telemetry data that for correcting GPS signals. To make drone positioning more affordable, James Bruton developed an ultrasonic sensor-based system.
Bruton started this experiment to coordinate the movement of drones, like those used in drone shows. Even the simplest shows require the coordination of many individual drones that each need to know exactly where they are. Equipping them with GPS-RTK is very expensive, making drones shows out of reach for any organization that doesn't have substantial funding. Bruton thought he could create an inexpensive alternative with ultrasonic sensors.
A typical ultrasonic sensor, like the kind you can find from any maker-focused online retailer, works by pulsing an ultrasonic transducer and listening for the echo. The time between the pulse and the echo, multiplied by the rate of travel, is equal to the total distance from the ultrasonic sensor, a reflective surface, and back. But that only works when there is a hard surface for the ultrasonic waves to reflect off, which means that a standard ultrasonic sensor doesn't work in outdoors spaces.
Bruton's solution was to use a pair of ultrasonic sensors. One, mounted in a fixed location, pulses the transducer. The second, attached to the drone, listens for the ultrasonic pulse. The time between the pulse and the reception, multiplied the by the signal's rate of travel, is the distance between the two sensors. With two pairs of sensors, the drone can triangulate its position on a 2D plane. If Bruton added a third pair, the drone could find its position in 3D space.
However, this can only work if the transmitting and receiving ultrasonic sensors sync up. Otherwise, the receiver doesn't know the time of the transmission pulse and can't calculate the distance. To sync the ultrasonic sensors, Bruton used an infrared LED array and infrared sensors. The infrared LEDs blink at a relatively fast rate. When they first turn on (the rising edge), that signals to the drone that one of the ultrasonic sensors just emitted a pulse. When they turn off (the falling edge), that signals to the drone that the other ultrasonic sensor emitted a pulse. A third ultrasonic sensor (for 3D positioning) would need some other sync signal.
This worked pretty well. It was fairly accurate, fast, and had a decent range. It was also achievable with affordable hardware: an Arduino Mega 2560 for the drone and another for each transmitter. Unfortunately, interference from the drone motors proved to be too high and made it impossible to get reliable readings. Bruton is going to try another method for drone positioning, but this ultrasonic positioning system is still useful for more conventional robots and for other tasks.
Writer for Hackster News. Proud husband and dog dad. Maker and serial hobbyist. Check out my YouTube channel: Serial Hobbyism