I would like to know if anyone has worked with this subject "collision avoidance". If yes, can you please help me with a few things.
-> What kind of sensors can be used?
->Any collision avoidance protocol?
->Did you try collision avoidance with 2 or more quads?
Thank you very much!
I am currently investigating this and have a somewhat workable solution although I have not adapted it into current code. Here is what I tried and it seems to work. If you look on the internet you will find a discussion of a small ground based robot called, "MAEP 2.0". That program is very close to what you need for collision avoidance in a flying craft. I had to modify the servo range to work for an aerial application. For example the range needs to be changed to 46 degrees on the servos with 23 degrees being center.
One of the basic problems is that "mixing-in" is an easy process for collision avoidance on ESC's but mixing with, or "mixing out" is a little more difficult. Perhaps some of you that are better with algorithms can step in here and offer some suggestions. Mixing in is simple because you are just adding to the on time of the servo or ESC which increases motor speed. Several options exist here because you could either add control vanes to an existing multicopter (under the fan) or you can simply mix the signal in with Vtail mixers to the opposite ESC lines. (this is what I did). On my original code I decided to make the correction fixed at 10% but that may be too severe. It's been windy here in Seattle so I can't test it out yet in the air but it seems to work just fine. A left and right correction will give you sideways control and if you put a third if statement in the algorithm you can actually get a pseudo collective pitch for vertical corrections.
I liked the MAEP 2.0 system because it allowed the use of the inexpensive UC-SR04 Ping))) ultrasonic sensor. However, you must bear in mind that you need to keep the field of view unobstructed to get accurate distance readings and you need to give the program enough time for the return echo at your specified target distance. I set mine at 5 feet and that seems to work fairly well. (note: Tie both center pins together on the sensor. That works fine and avoids the use of two Arduino pins for the same signal.)
My system is set up as an add on device for an existing system. Because of this I chose the Arduino Pro as my control circuitry and it seems to have more than enough space for any program you want to use for this process. I picked the 16 mhz version just to keep the voltages the same. If you want to get creative you can use the "Knob" code in the Arduino Reference Library and add three potentiometers to the analog side of the board to give yourself variable correction.
Of course, there is always the possibility of locating an RCD "MOM" mixer out there in the hobby world and going crazy with what you can do with collision avoidance. These are not as popular now with the advent of programmable radios but they were pretty nifty back in the day. Seems like there is still some need for such a device. May be a good place for someone to concentrate some Arduino programming skills.
Anyway Kate, this is what I did, hope is helps.
Thank you so much for the reply.
Yes, I have been going through the MAEP, and I really wanna build one. Just waiting to buy the instruments.
I was planning to take it one step at a time. First, build this ground based bot and then move to the aerial bot. :D
Thank you so much for the reply, it did help me.
I am working on a project of collision avoidance on a multicopter as my thesis. The sensor that I want to use is the Lidar Lite from Pulsedlight3d. I wanted to know if you had sucess with your project, because I am having problems integrating the sensor to the Autopilot.
Thank you in advance, looking forward to hear from you.