Hi, I'm trying to put on my robot some sonar
- posted
18 years ago
Hi, I'm trying to put on my robot some sonar
Hi, I'm trying to put on my robot some sonar
Not directly in response to your query, but I am wondering about the status of synthetic aperture sonar. [Where multiple microphones are used, with one sound source. By "listening" to each microphone in the right sequence, you can select only sounds from one direction] With digital signal processor chips getting so cheap, and no moving parts required, I am surprised I am not seeing it implemented in robotics more often.
I am just getting started into learning PIC programming, so only have a general idea of what is possible. But, it would seem to be reasonable for a manufacturer to put out a "plug-n-play synthetic aperture sonar" in a comparable package to the "CMU Cam". Such a system might even incorporate the possibility to add sonar beacons for landmark navigation.
Of course, ideas are always trouble free, and work perfectly. Are there problems I am not seeing with such a system that prevent it from being available to the robotics hobiest?
Joe Dunfee
Hi The UK magazine EPE recently published an article called PIC = ultrasonic radar (June 2005) It used an ultrasonic transmitter / receiver pair which are rotated by = a stepper motor. The display (on a PC) shows a circular map with detected ultrasonic = detail. It looks good and the system is intended for robot use - I haven't got = around to building it yet - but will do soon.
Hrm... its not hard but I wouldn't say its "too simple" either. Writing the code to control them isn't hard, but you'll need to stagger them so that one doesn't give a false echo to another, and they consume significant current so firing multiple at once can distort your power supply.
Also, you're limited to only 45 degree resolution, obviously. I like the idea of putting a sonar or two on top of a servo and rotating them. Its something I played with last summer but haven't gotten a chance to get back to.
I used 12 sonars (SRF08's). I fire 2 on opposite sides simultaniously, then go on to the next pair. If I thought I could get away with firing four off at a time without interference I might.
Hmmm. I should try it.
-- D. Jay Newman
Can you explain me something more about your project please ? I can't find answer looking at your site. What's the MCU that you use on your robot ? I got the same idea, but until now I wasn't sure it could work : I've not to create some map of the enviroment around the robot, but just keep safe the robot avoiding collision, than I suppose it is enough switching the sonars, not firing all at the same time.
Thank You,
Richi
D. Jay Newman ha scritto:
Some time ago, we did this with a test robot, but using SRF08's rather than SRF04's.
Gerry.
------
: I used 12 sonars (SRF08's). I fire 2 on opposite sides : simultaniously, then go on to the next pair. If I thought I : could get away with firing four off at a time without : interference I might.
There is a paper out there on rapid-fire tecniques for sonar, basicly it interleaves the delays between fireings. Google should find it.
: There is a paper out there on rapid-fire tecniques for sonar, basicly it : interleaves the delays between fireings. Google should find it.
And your battery melted!
-- Gordon
Sorry. I'm trying to finish up a book where Groucho is the main example so I haven't had time to update the site much.
I run Linux on a Mini-ITX board with a Pentium M 20 GHz.
The processor that actually runs the sonars is a MAVRIC-IIB from BDMicro
Groucho isn't a fast robot. This seems to work well for normal obstical avoidance. I also have a Sharp IR Ranger near the bottom front pointed down to detect dog toys that might get in the way of the casters.
One thing: the SRFO8 is read via I2C rather than directly. This makes the programming *much* easier.
I can release the code within a month or so.
I did try firing them simultaniously in ANN mode, but my house is too crowdwd for this to work.
The reason I fire two simultaniously is that by firing the ones in opposite directions I *probably* don't have to worry much about getting the wrong reflections.
You're welcome.
-- D. Jay Newman
The article sounds interesting, but I am using sonars that have predefined firmware that can't be changed by myself at the present time.
Maybe later.
Thanks. It is an interesting paper.
-- D. Jay Nwwmna
Well, thank U everybody, the question now is : I'm using a 68HC11 MCU, how can I get the sonars output using the ICx input ?? Do I need to use one "pin-per-sonar" or there's a way to get the data without losing the direction (that is, the sonar !!) ??
: The article sounds interesting, but I am using sonars that have : predefined firmware that can't be changed by myself at the : present time.
All this method does it determine the order and timing of when a range is started, which would be when you send the i2c range command to the SRF08. It shouldn't require any firmware changes. You'll know when it started, and you'll know when it ended by the value returned.
-Chris
You are using SRF04's, which don't have I2C output. This makes them more difficult to use, but you can use them with the techniques presented earlier in the thread.
-- D. Jay Newman
The trouble is that the timing is fairly touchy. I would have to set parameters on the SRF08s that aren't normal for them.
I may try anyway when I have the time.
-- D. Jay Newman
: The trouble is that the timing is fairly touchy. I would have to : set parameters on the SRF08s that aren't normal for them.
Then you obviously understand the paper better than I do. :-)
: I may try anyway when I have the time.
If you do, perhaps you could write up how you do it. A more concrete, implementation document.
The first part has been answered: use multiple, or mount them on a servo. The 2nd part is hard, as ultrasound is inherently tricky, the way it bounces around the room. But I'm not going to offer advice on that...
I mounted a transmitter and *two* receivers on a 10cm arm atop a servo, transmitter in the middle and receivers at the ends. I built a circuit like the SRF04 but with two receive channels, and programmed it from a 68HC11. It's possible to resolve an echo down to about 2 degrees with this system - that's well under one wavelength. I thought it was cool, but I haven't taken it further. I did think that with a third reciever mounted above you could get elevation info also. My system was limited to processing the first echo, but with more dedicated CPU grunt you could detect subsequent echos.
Clifford Heath.
I *like* it. I'm going to have to experiment with some of these different sonar techniques.
-- D. Jay Newman
PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.