Older blog entries for davee (starting at number 11)

21 Oct 2002 (updated 21 Oct 2002 at 02:02 UTC) »

Well, work on the SensorTrak (ex Serial Sonar Decoder) module has kept me away from playing for awhile. Sales are starting to take off. There are a lot of things to deal with when starting a new company. It's become a 16 hour a day job. Customers are being very helpful, which makes things a lot easier.

Thanks to all of you that have bought our new boards. Without you, it wouldn't be possible.

The SensorTrak has been updated to support not only the SRF04, and the sharp GP2d02 IR range finder and also supports switches. I'm working on an SRF08 version but that will not come out till next month at least. If any of you know a good marketing type, let me know.

We have also become a distributor for Devantech SRF04 and SRF08 ultrasonic sensors and the Sharp GP2D02 IR range finders as well.

There are some robot cars coming to the Baltimore area that will be using three of my boards in each one. A minor success to say the least! These cars will be ferrying people around the Inner Harbor. At least that's the way I heard it.

Look for the SensorTrak coprocessor module and sensors at sensortrak.com

Sales of the Serial Sonar Decoder is doing better than expected. There is a new version coming down the pipe, It uses RJ11 cables instead of the original headers. Mainly we are adopting an interface standard that is based on a four wire standard and the RJ11 is a good standard to adopt.

Yesterday we added the ability to handle the Sharp GP2D02 IR sensor to the board. The Serial Sonar Decoder now handles the SRF04 and the GP2D02. We will probably have to rename it now, since it is no longer strickly a SONAR board.

The board defaults to the SRF04, but with a serial command, you can tell it to use the GP2D02 on a specific port instead.

The IR sensor gives excellent short range (4-30 inches) in tenths of an inch.

Look for it at wehali.com

22 Aug 2002 (updated 22 Aug 2002 at 07:10 UTC) »

Well, it's been a couple of weeks since my last entry. I've been distracted by another project involving a 'real' robotic project in the works.

As to the status of K2, the firefighting robot, I'm using a 2 liter soft drink bottle as the 'target' since the pyro sensor does not report heat as much as it detects the thermal difference of an object from what it thinks is the background temperature. Works as well for cold things as it does for hot. Anyway, I don't need a fire burning for this stage of the game. K2 can find the bottle, and navigate to within 5 inches of it using the pyro sensor and the sonar system. It still needs some fine tuning, but that's ok.

Between the motors, head servo, ADC for the pyro and the sonar, I've used 12 out of the sixteen available ports. I expect to need only two or three more ports for another infrared sensor to narrow the angle towards the fire and the extinquishing system. If it gets too critical, I can offload the sonar functions to one of my sonar coprocessors and gain 4 more pins.

It is interesting to watch K2 roam around a room, locate the fire and get closer to it. If I used a fan like most people do, K2 allready gets within 10-15 degrees and stops 5 inches from the target. At that range, it should have no problem blowing out the fire. I want to do better. I want to be able to shoot a stream of water or foam at the flame and put it out with a 'real' fire fighting system.

Anyway, the next step is to modify the K2 to align itself dead on to the flame before triggering the fire suppresion system.

I've also added a routine to patrol an area and look for fires while it is on patrol. This patrol routine will evolve to patrol the trinity house and return to the start point after putting out the fire.

Yesterday, I added an Eltec 442-3 pyroelectric sensor. It is great at detecting people and dogs at a pretty good distance. Candles are a bit different. It seems the best I could get it to detect that candle was about 18 inches. This might improve within the confines of the Trinity house.

Began development of subsumption architectire for the kanati class. Currently have three levels implemented. Still need to smooth things out os that the different functions can be performed without slowing down the movement. Mostly this will involve a kind of multitasking some of the levels. Since the Javelin Stamp doens not really support this, it will be simulated on board.

in the meantime, Sparky, our dog, is having fun playing with K1 as K1 chases it around the house at crawling speed.

Today, I added code to allow the movement of the bot in precise distances and turn in specific degrees. K1 can now navigate the trinity fire fighting contest's house. At least it traverses an open area that is modeled on the house. I've ordered an eltec 433-2 pyroelectic sensor to be mounted on the head. It does not have line sensors yet and we will see if they are needed. Since the bot knows where it it, it may not need them. We will see.

I've relocated the left and right sonar units to the sides, over the tires, looking directly right and left, as opposed to the 45 degree of center that they had been. This required a minor change in the code, but now I can detect a room simply by the range data from the side sonar units.

I plan on building a Trinity house for the development. Seems I have a few sheets of plywood out back that will come in handy.

After working out a few bugs (there are always bugs to workout), K1 does a wonderful job of exploring and avoiding objects.

Tonight, I added a servo 'head' to hold a scanning platform and wrote the code to handle the scanning process while K1 explores it's world. The scanning process occures concurrently with other operations via a background timer.

I still need to add code for the targeting sensor and tell it what to do when it sees a target, but it all is coming along quite nicely.

I've decided to build a fire fighting robot out of K1, so I will be looking for a UV sensor in the next day or two to mount on the head. Haven't added the sound board yet either, will save that for later.

23 Jul 2002 (updated 23 Jul 2002 at 18:04 UTC) »

After a few hours of tinkering with the code, Kanati-1 can now negotiate a maze. It doesn't do it well because it does not yet keep track of the world and it's place in it. It would do better if I was not using a random direction when it sees something straight ahead. That's going to take some time just playing with it.

I have the side sensors reacting further out than the center. This lets it react to somthing along side it before reacting to the front sensor.

If anyone has any good behaviors for dealing with obstacle avoidance, I'ld like to talk about.

Added a home page for Kanati project. It currently has one image of Kanati-1. goto Kanati Home to see it.

22 Jul 2002 (updated 23 Jul 2002 at 03:47 UTC) »

Kanati-1 LIVES!

As I expected, I used a CD jewel case for the chassie, mounted the three transducers about 45 degrees apart. May need to move them even farther apart but it never seems to bump in to anything with the avoidance range set to 4 inches.

I'm using a simple avoidance algorithm;

  public static void main() {
  int rc;
  k = new Kanati();     //create the robot object
  System.out.println("K1...online");
  k.sleep(5);
  k.moving=false;
  k.initializeSONAR();
  k.minRange=4;
while(true){
 //robot code here
   CPU.delay(100);

rc=k.checkSONAR(); k.moving=true; while (rc == 3){ k.move(); CPU.delay(1000); rc=k.checkSONAR(); } if (scanForTarget()!=0){ fire(); } else { k.avoid(rc); // not an enemy, avoid it }

k.moving=false;

} // while loop } // main

k is the instantiated kanati class (robot object) where all the real code is at.

The avoid routines determine which sensor detected the obstacle and acts accordingly. If object detected Forward, backup and turn in a random direction. If right or left, turn in the opposite direction.

That's pretty much it so far. I will post some pictures on my website tonight.

2 older entries...

X
Share this page