If you haven't been to Daniel Roth's site on behavior based robots, you ought to. http://www.behaviorbasedprogramming.com
This is a bunch of fun. Personally, I've gotten about a hundred free virtual robots so far, and learned a great deal about behavior based programming. I've also been reading along in Joe Jones book, Robot Programming, A Practical Guide to Behavior-Based Robotics
http://www.behaviorbasedprogramming.com/staticpages/index.php?page=robotprogramming
I'm really enjoying this book, because it is extremely practical. Lots of little tips.
For instance. Joe's sensor returns a 1 or a 0 for detection or nondetection. He wants to change it to a direction for a wheel; 1, -1. What's a really simple way to do it? 2w - 1. So 2* w will give a 2 or a 0. Then -1 will give a 1 or a -1. Slick.
Now going beyond the book for a moment, a multiply by two is a ASL (arithmetic shift left) in most machine codes, and a -1 is usually a single instruction as well, like SUB #1, or ADD #-1, or what have you. So this technique could compile to an extremely compact two instruction sequence. He doesn't go into that detail, just mentions the conversion.
Now in my systems, I generally get a 0 for false and FFFF or -1 for true. I'd do a 2* and a 1+ to get the same effect (but sense would be inverted).
So again, I think Joe's got a winner here. I'm glad to have the book.
--
Randy M. Dumse
www.newmicros.com
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Used to do something similar with joysticks on the Atari 800 button * 2 - 1

http://www.behaviorbasedprogramming.com/staticpages/index.php?page=robotprog ramming
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
I agree, a really great book. I've been approaching robots from a computer programmer's point of view. This book showed me the eroor of my ways.
chris in napa
Randy M. Dumse wrote:

http://www.behaviorbasedprogramming.com/staticpages/index.php?page=robotprogramming
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

Really? Perhaps you could expand on what you learned. I'm not disagreeing, I'm just curious what they made visible for you. ???
Randy M. Dumse www.newmicros.com Caution: Objects in mirror are more confused than they appear.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
On Sun, Jan 18, 2004 at 02:00:55PM -0600, Randy M. Dumse wrote:

Yep - lots of fun. I had minor trouble at first, but Daniel responded to my query very quickly identifying the problem - my Java version was too old. After a quick upgrade to 1.4.1, all was well.

I also got the book, mostly from your earlier posting about it, Randy. I think the book is very good, and I would consider it a "must have" for folks who are experience programmers, but are new to programming robotics, or even for the experienced robot programmer who is perhaps struggling to keep the complexity of his robot code in check. Joseph Jones does a good job of presenting the not only the concepts but also detailed examples of tried and proven techniques.
-Brian
--
Brian Dean, snipped-for-privacy@bdmicro.com
BDMICRO - Maker of the MAVRIC ATmega128 Dev Board
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

Same with me. I couldn't accept my browser wasn't enabled. But I read in the FAQ's it was probably the Java version, so I downloaded. Things started working and making sense right after that.
To some degree, things aren't as intuitive as they might be. You have to read the whole of the instructions, and I'm a skim and play kinda guy. Instructions are last resort. Took me time to find the Programming Dialog Box, which required double clicking the robot. Double clicking a rolling robot can be tough. So that wasn't obvious to me.
Still, I've learned a great deal from the playing with the behaviors and that's the whole point.
--
Randy M. Dumse
www.newmicros.com