Older blog entries for cschur (starting at number 71)

HI All,

Well, here it is as promised, the write up on shaping and final testing of our quadrate sonar array on the Geobot. I think we have learned more about sonar in the past few weeks than in my entire life:

http://www.schursastrophotography.com/robotics/sonarshld1.ht ml

Write me!

Chris comets133@yahoo.com

More on Outdoor Sonar....

We have spent many more hours this week on getting our quad sonar array to work outdoors. I have discovered a very useful fact about doing this, Id like to share. With a sonar mounted just above ground level, say six inches or so, you will be detecting the ground at some point a few feet away, and it will change rapidly in some cases from a foot to over four feet in a heartbeat.

We tried aiming the sonar upward about 25 degrees which pushed the ground detect point outward only slightly, but now it was picking up beams on the overhanging roof! So dont point your sonar upward.

This "ground effect" requires you to do one of two things to make the sonar useful for obstacle detection. First, you can always jack it up a foot or so off the ground. Then youll miss some pretty major obstacles, but your ground detect point will move out to past the detection limit of about 8 feet for the SR04 sonar.

Alternately, we can try to reshape the beam. Research into this on the web has shown mainly failed attempts, the general consensus is you CANT change it. Well, we found thats not entirely true!

You cant add like tubes or cones in front of the beam or over the emitter/detector because it just sees the tube and its signal overwhelms the detector. BUT you can modify the pattern by reflection. Here we put a smooth surface for the beam to deflect off of, exactly like a mirror. By intelligently putting a flat piece of lexan under the sonar xmitter, we can deflect the sound waves that would hit the ground up into the air. so now we are determinng the shape of that flat plate, and how big it should be. Im guess ing it will be D shaped, and about four to six inches radius.

More to come, working with a sensor system that literally sprays signal all over the place outdoors is quite the challenge!

Write me if you have any suggestions.



27 Mar 2006 (updated 27 Mar 2006 at 17:51 UTC) »

Sonars in the Outdoors

We made more big progress on our quadrate sonar array on the Geobot this weekend. Last I posted, we had just mounted the array on the front of the robot, and started testing a new sonar PIC to do all the dirty work to take the load off the main processor. Well now we have finished the sonar processor, and it puts out both serial and paralell data to indicate both the distances for each sonar, and which zone the closest danger is in. And now, last night late we wired that processor into the main 16F877a controller.

I next set up the priority arbitration architecture in the program for the sonar, which takes second place only to the bumper. And a quick run indoors at some targets on the floor, and its veering and banking away proportionally from the obstruction!

So whats next? We found that in an outdoor enviornment, the sonar is picking up the rough ground about 2 feet in front of the bot, even with no rocks around. In the house with the flat plywood work table we have it on, it did not do this. So heres the catch - If you aim the sonar straight ahead, it will still see the ground intermittently and think there is a giant rock out there its heading for. IF I tilt the sonar up, I miss the ground, but also miss close by rocks that are too tall.

Sonar is very broad beam, and very sloppy of course and is quite a challenge to use out of doors! Also, there is the problem of a slope. When the robot sees a bottom of an easy to climb hill in front of it, it still sees it as an obstacle to avoid.

So for small rocks and the ground, a low lying sonar will not always see the comming impact. But It will see many feet straight ahead so it doesnt encounter a huge boulder or more commonly a tree trunk. So there is a small zone Ill have to cover between the bumper and bottom of the sonar beams with another set of some sort of sensors.

Our next step is to take the bot outdoors and run it through an array of obstacles such as rocks, branches, logs and ditches to get the sonar tilt set to optimal.

Its the wierdest thing to see a tank tread vehicle with differential PWM drives running figure 8's all over the yard!

Write me: comets133@yahoo.com


HI all,

Finally a new article on our Geobots systems to post, Here we go into our 4 quadrant sonar zonal system, and how we are implementing it in the new robot:



Chris comets133@yahoo.com

Ok, I havent posted in a while, so heres whats up. The design for the layout of the mutli beam synthetic aperture sonar for our Geobot has been killing me for the past two weeks. Finally its done. Its going to be a 4 channel Devontech array on the front lower bumper, and armored incase of impact with a giant rock. It will work this way: Each sonar will be read in succession, then the distances will be binned into four zones. The sonar processor chip will then determine based on these numbers the maxium danger. This is reported both parallell and seriall to the main processor (Running priority arb.) for the appropriate escape response. This way I can use the new dual PWM tank tread drive to bank, veer, or rotate away from potential obstacles. Its going to look very cool when its done! So back to chopping more lexan...


Hi all,

A very busy week for the Geobot, we added two pwm processors to the drive train and can now do something other than full on and full off on the track drive. Our test was to do a S curve, something not easy with a tank tread drive! Anyway it works fine, and now we can do any type of turn we wish to avoid large trees and rocks or home in on a distant target by simply veering one way or the other.

Our PWM drive was done this way: Both motors are driven with the dual L298 motor driver from Solarbotics. the Enable line is the PWM input, and the other two inputs provide the direction for the H bridge.

What we did was drove these inputs with a 16F628 PIC we programmed to accept a serial data stream at 9700kb on its input containing the two direction bits, and a 0 - 255 pwm percent bit. So to go straight for example, I blast off a single serial command from the main processor to this motor driver PIC and it changes and stays that way until we send off another serial command to change it. Set and forget control. If anyone is interested in the hex file for the PWM driver, and want to make thier own free serial to PWM chip, email me.

Were moving on now to the 4 channel matrix sonar array, and have a unique approach to obstacle avoidance tied right to the PWM for each motor, youll like it...



HI all,

Our write up on the Geobots tilt sensor is up, and as usual weve covered this subject with great detail in case you would like to try to make one yourself. It was fun testing the sensor outdoors, on steep hills and large piles of dirt.



Chris comets133@yahoo.com

HI all,

We made some great progress this weekend on the Geobot. I installed a tilt sensor, made from a damped potentiometer with a six inch weighted pendulum. Reading it with the 10 bit A/d in the 16F877, we set it for a 12 degree uptilt for the limit forward, and a 22 degree down tilt when going down the hills. There is a lot of pea gravel sized rocks in our area, so thats why the relatively shallow uptilt. Its like driving on ball bearings! When a uptilt limit is reached, the architecture considers it as a top priority impact, and stops, reverses for 2 seconds (pendulum time constant) and turns 90d right. Then resumes. In this manner, it tends to skirt a hill to get around it.

Downtilt is another matter. Since reversing wont work since it slips too much, I cut the speed in half for up to 22 degrees , and after that a full stop is in order.

We did get the sonars and Devontech compass from Mark III robotic store very promptly. As soon as we are through with the tilt sensor algorithm, then its on to the exciting world of sonar navigation amongs giant rocks!

Ill post a page on the tilt sensor soon...


HI all,

as promised, here is the latest write up on our tank tread odometry technique and a hint on the new architecture for programming we will be using:


Thanks for looking!

Chris comets133@yahoo.com

Hi all,

We have devised a hybrid method of programming our Geobot, that combines the best of Finite State Machines and Priority Arbitration, which we are calling "Finite State Priority Arbitration". With a single processor (16F877a) it is not practical to implement a true multithreaded program, so we have limited the subsumption portion to just when the robot travels from the starting point to the destination.

So far, we have bumpers on the front, and now a daylight readable (and I mean DIRECT Sun) optical wheel spoke encoder on the tank tread. We accomplished this with the IS417 chip, which detects only self modulated IR.

Anyway, our next write up on the tank tread wheel encoder for outdoor use is comming along. Ill let all of you know when its posted!


62 older entries...

Share this page