Re: [mowbot] Questions?

Byron A Jeff (byron nospam at
Fri, 30 Apr 1999 20:01:33 -0400 (EDT)

> I actually tried to post about 3 weeks ago but had lost the new address
> due to a virus attack (wonderful java code that just modified files by
> rearranging contents). I was hoping someone would post. So if I can
> remember, here is what I wrote.

Glad you found it. This is some good stuff here.

> My mechanics are close to being done. The robot can rotate within its
> own area. It has a ground speed of 2 inches per second and it can go
> foward, reverse, and rotate in either direction. It can also count wheel
> rotations/angle change from an optical encoder on the drive motors.

I think I saw your web page URL from the PICLIST mailing list. Can you repost
it? Also tell us more about the drivetrain. What kinds of motors? Axels?
How is the encoder implemented? This is an area of extreme interest for me
because I'm trying to finalize my platform/drivetrain design.

> Now I need a control program which I would like to keep very simple. My
> yard is a rectangle oriented north-south. On the west end are
> semi-circular tree wells jutting in. The entire grass area is surrounded
> by a 2" or higher vertical barrier. I thought of using an electronic
> compass to determine direction and a simple bumper for foward motion
> limit. Here is my homing sequence.
> 1. rotate to point north
> 2. head north until limit
> 3. rotate east
> 4. head east until limit
> 5. rotate north
> 6. head north until limit
> I figure that should get the robot to the north east corner of the yard
> unless the kids leave things in the grass. To cut, the robot would:
> 1. rotate west
> 2. head west until limit
> 3. rotate south
> 4. move south 4" or until limit(cutting width is 8", so this leaves
> overlap)
> 5. rotate east
> 6. head east until limit
> 7. rotate south
> 8. move south 4" or until limit
> 9. rotate west
> 10. etc

Excellent. Mapped. Simple.

> I figure I can do this with about 200 lines of code on a PIC. When the
> robot hits the southern limit on the east edge, it is done. My questions
> are:
> a. How sensitive are the electronic compasses to permanent magnet motors
> nearby (within 4")?

No clue. Hadn't even thought of it until you mentioned it. I was planning
on the beacon method described below.

> b. Could I possibly do it with an infared beam pointed south along the
> eastern edge? If I use a standard 40khz infared sensor with a narrow
> horizontal aperture (less than 1 degree) and a simple 40khz modulated
> beacon, the robot could rotate on the eastern edge until it is oriented.
> Since the robot can also rotate precisely (more or less), the robot
> could just reorientate the on the eastern edge. Initial homing would be
> more time consuming, but still easy.

This is more along the lines of what I was looking to do. I plan to have
enough units (3 or 4) that pulse at different rates so that the bot can
triangulate its position from the beacons. Like I said in my last post I'm
thinking of have solar powered self contained units that will act as a
responder when the mowbot asks for a position, Thus not requiring stringing
a bunch of wire around the perimeter.

> c. Is there a simpler way?

Not sure. I'd experiment with the compass. I kinda like that idea because
navigation is completely self-contained on the bot.