I'm searching for a cheap (under 100$) and efficient 3D sensor, which detects obstacles and moving objects, for robot applications like quadrotor navigation, swarm robotics, etc. Can you suggest a sensor that can be either a commercial product or a "do it yourself" project?
Honestly it depends what you want, I will cover some options from cheapest to most expensive
Ultrasonic sensor on a servo 5-50$ depending on the model. It can be fairly accurate with around 1cm accurcy and 255 steps on a full circle, but it can have poor performance in dusty environments and can have poor results with curved items.
Ir distance sensor, 10-100$ depending on model. More accurate than ulatrosonic sensor (around .5cm accuracy). Preforms better with round objects, sensitive to dust, but can be placed in clear enclosures to protect them.
1d lidar/laser raingefinder on servo, 80-300$ some examples they work over longer ranges and collect data faster potentially allowing two axis collection to get a "3d" point cloud, but are more expensive and will require a more sophisticated controller to take advantage of them.
inexpensive 2d lidar sensor (possibly on a servo for 3d capture) example alloes for true 2d capture and can be moved up and down to allow for a 3d point cloud, more expensive and required even more procssing power probably no less than a Raspberry Pi or Intel Edison
Stereoscopic cameras, 400$+ my favorite is the ZED these provide "true" 3d and can be fairly accurate at around 10 centimeters but give you a real 3d point cloud in addition to being cameras that you can use to do object recognition and detection on, the only problem is that they require significant horsepower no less than an Nvidia k1 which could restrict some mobile applications
True LIDAR sensors, 1000$+ allowing for very robust 2d point clouds example and are designed to be oscillated up and down to provide full 3d mapping, they can ve very expense up to 10k+ and will require an embedded computer to run
True 3d LIDAR sensors, 50,000$+ dollars are very accurate and can provide immense amounts of data but are very expensive heavy and require lots of processing power in order to use
If you provide more specifics on your application I can give a more specific answer.