In 2017, I made an obstacle avoidance for quadcopter using an ultrasonic sensor as my undergraduate thesis project. The goal is to do proof of concept of an ellipsoid based guidance proposed in the following paper. The paper take a fixed-wing aircraft as the model. However, since implementing it on a fixed-wing model is an extremely laborious work, the implementation is done on a quadcopter.
To mimic the radar sensing, in this project, I used an rotating ultrasonic. The ultrasonic is rotated by using a servo that is commanded through a microcontroller, Arduino. The sensing result is estimated as an ellipsoid geometry, considering the size and orientation of the obstacle as well as aircraft velocity vector. A contact point is set as a guidance.
There are two controller boards on this project. The first one is a Pixhawk, used as a flight controller to stabilize the system. The second one is an Arduino, used to do the guidance. Arduino is connected to Pixhawk through PPM command, interrupting pilot input when it is in autonomous mode.
The flight scenario starts by the quadcopter taking-off. Then it switches to autonomous mode, provided by Pixhawk. The quadcopter goes to a predefined way-point. When an obstacle is detected, an avoidance mode is activated and the quadcopter is guided by the microcontroller. After the avoidance has been successfully conducted, the quadcopter switches back to autonomous mode and goes to the targeted way-point.
More results on this project is documented through a paper published in IOPScience Journal. A video showing one of the avoiding mechanism can be seen below.
Feel free to contact me for any further question! Let me know what you think about the project.