Relatively new to UAV's and planning on getting the new APM2 and a Telemetry kit. I was also contemplating the sonar modules for collision avoidance and auto landing/takeoff and have 2 questions:
1. How many sonar units do you need? Is it 1 for auto takeoff/landing and 4 for collision avoidance (5 total) or am I thinking of something else?
2. What's the difference between the different sonar modules? Even in the LV-MaxSonar range on DIYD store there's 4 different models that are the same price. What's the difference in those? How do they compare to the MB1260 XL-MaxSonar-EZL0 at nearly double the price?
Thanks for the questions. To answer your questions of "How many sonar units do you need? Is it 1 for auto takeoff/landing and 4 for collision avoidance (5 total) or am I thinking of something else?" depends on what you are trying to achieve. You can use a single sensor or multiple sensors. We have saw it done both ways. When using multiple sensor, please be sure to follow one of our chaining application notes listed on our downloads page http://maxbotix.com/downloads.htm
The answer to your second question of "Even in the LV-MaxSonar range on DIYD store there's 4 different models that are the same price. What's the difference in those?" The LV-MaxSonar-EZ series beam patterns progressively get less sensitive as you go through the sensor line with the LV-MaxSonar-EZ0 being the most sensitive and the LV-MaxSonar-EZ4 being the least sensitive. As the sensors get less sensitive, they also become less susceptible to outside interference such as mechanical noise and motors but you are not able to detect small object at the further distances.
The answer to the second half of your second question of "How do they compare to the MB1260 XL-MaxSonar-EZL0 at nearly double the price?" is actually pretty simple. The XL-MaxSonar-EZL0 is a long range indoor sensor with a maximum range of 1068cm (approximately 416inches) and the LV-MaxSonar-EZ series sensors all have a max range of approximately 645cm (254 inches) All of our XL-MaxSonar sensors have a resolution of 1cm whereas our LV-MaxSonar Sensors all have a 1inch resolution. The XL-MaxSonar-EZL0 is also a sensitive sensor so be aware of the wide beam pattern and off axis targets.
So can you mix both lots of sonar units in a chain?
If the XL-MaxSonar has a higher maximum range and a better resolution it would seem to me to be better suited for a landing sensor, whereas the LV-MaxSonar's cheaper costs and lower resolution would seem fitting for the arms?
After looking at the chaining application notes, I'm still not sure how the ArduPilot board interprets this data as multiple inputs when (By my understanding of the notes) the sonar units just relay their values one at a time in sequence? If you could explain a little more that'd be great.
Still hoping someone can answer me before I order the rest of the parts :)
There's strength in numbers. I'm also interested in collision avoidance. From reading the data sheets provided by Maxbotixs I'm going to use the MB1261 sensors. I've used both the MB1260 and MB1261 sensors on my quad and find they both work quite well. The only problem I have is they are sensitive to moisture; even dew on the grass can be blown around while landing and stop the sonar from working.
I’m thinking after playing around with the sensors that the MB1261 would be the best one for Collision Avoidance (CA). The MB1260 is a little too sensitive. If you’re looking for CA with no gaps 360 around a copter, then looking at the data sheet graph of the sonar envelope, my guess is that at least 8 sonar units would be required.
The way I'll thinking of doing it is to use a separate micro to receive the PWM signals from all the sensors. The micro would also send out a pulse of 20 micro seconds that would go to all the sensors so they would all pulse at the same time.
The sonar sensors must be separated buy some distance, according to Scott at Maxbotix so they don't sense the pulse from their neighboring sensor.
With a micro controlling the sensors and help from Diy Drones we may be able to get CA. The micro could take the signal from the first sensor to senses the ground or obstacle and send it to the APM2 for altitude control. It also could send a code that would tell the APM2 which direction that sensor is positioned. Using the position information the APM2 would use it along with GPS to change the multicopters path.
It's not as easy as I would like but maybe doable with some help.
A lot of this sounds really interesting, I'm actually doing a project on object detection / avoidance at the moment.
Sorry it's a very basic question, but I'm only starting to become familiar with the APM hardware. If I daisy chained a series of these Maxbotix sensors together would it be interfaced through the I2C port which I understand can handled multiple sensors? Or would I need an independent micro controller to solely handle the sonar array and output a compatible signal to the APM for processing?
The problem with daisy chains is time. Each of the better sensor XLs take 99ms to get a measurement, 10 sensors would take a second. The cheaper sensors run twice as fast but have some other problems that make them harder to work with.
If you're trying to control an aircraft, timing is everything.
So in other words it's physically possible but however it's rather impractical / unsuitable to do it via this method for control purposes. I'd be better off trying to create an independent board reading in each sensor simultaneously rather than via a daisy chain, correct?
yes if you're looking at moving at 2 mph or more.
You'd be a lot better off putting a sonar ranger on a servo and sweeping it around. 8 sonars pinging 10 times a sec is probably going to cause some problems somewhere.
The sensors don't take much power or give out to much EMF. The dedicated micro would just be looking for the first PWM input to go low and pass that signal on the the APM 2. This design would give 8 times as much resolution as one moving sensor and maintains the 10 Hz signal speed to the APM 2. If a series of sonar sensors are angled outward from the center of the craft, the system would signal the to craft to increase its altitude as it approaches a barrier. This would give a large multicopter the ability to fly close to the ground while being aggressively maneuvered and to jump over barriers.
The same micro could pass on which sonar sensor was closest to an object and with enough programing of the APM 2 control the direction of the craft to avoid an obstacle.
With 8 fixed sensors you're only going to get 8 ranges, or 8 sectors of information. If you used a sweeping design you could generate as much data as you want. With a normal servo (180 deg) you could put two opposing sensors to give 360 deg coverage.
That's just how I'd think of doing it. It would certainly be easier to use fixed sensors and it would update faster.
OTOH, realistically you only need to sense obstacles in the direction that you're moving. So pointing a sensor in the direction you're moving using a servo is going to be more effective and would allow you to move in any direction with your heading directly in the center of your detection beam. Otherwise you risk dead spots or have to use large beam widths or lots of sensors.
A sweeping laser or scanning laser does a great job of ranging objects up to 270 degrees. Lasers have the advantage of the speed of light. Sound is slow. If you're going to get a sonar picture of the obstacles a number of sonar sensor is a must. I agree that oscillating a number of narrow beam sonar sensors that sweep small angles while aiming in the direction of travel would be best for obstacle avoidance.
I think that radar needs to be used as a first line of defence to slow a craft down and then at slow speeds sonar could be effective.
At slow speeds and at ten or fifteen feet of altitude the series of 8 sensors with large beam widths could do both altitude control and obstacle avoidance. Slight yaw oscillation could enhance the sonar system to position an obstacle.
Doing this in a wind creates more difficulties because of a crafts attitude.
A three radar system would be best but expensive.