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.

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.

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.

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.

Created a Java class for robots based around the Javelin
Stamp and Board of Education, both products of Parallax.
Kanati-1 is the first product of that class. An experimental
test bed, K-1 is just being used to develop the platform.
See the Kanati-1 project for a description

sensors and motor working.

Still need to add the sound module, 4 pins, will have to
develop a class for it before it goes online.