Robot Programming : A Practical Guide to Behavior-Based Robotics
P**G
A robot is not a computer
"A robot is not a computer" And programming for a robot is different in many ways from programming for a computer. This book describes some of the pitfalls and assumptions which a computer programmer may have when starting out with robotics. Issues like 'thrashing' and 'graceful degradation' present new challenges to the desktop programmer. If you're a software writer who has become jaded with the static environment of typical coding, robotics might just be the refreshing change you need to get you excited about programming again.There are plenty of techniques described here to make your own first robot. And the detailed discussion of possible problems and how to solve them makes this book useful for well after your first. But while this is a 'practical' book, I found the most interesting parts to be when it spilled into theory.Why aren't we progressing with robots as quickly in other areas of technology? One assumption many people make is that this is a matter of processor speed... that faster chips will equate to better robots. But this has not played out... chips have gotten much, much faster but in the same time robots have barely gotten better. Why is this? Possibly because speed isn't what matters so much here. After all, are smarter people simply faster thinkers? Or is there something else going on. And consider that on many tasks, a robot can perform millions of times faster than a human. Yet they are no where near as intelligent as a person.One of the robot examples in the book is the sodabot. It goes around picking up used sodacans in an office. But what would be a nearly effortless task for a human is extremely complex for a robot. How does the robot identify the can? How do you tell if it's not still being used by someone? Then you have to pick it up and find the recycle bin. While solutions are offered, they're not perfect. And in many ways, it's likely that a real sodabot would get in the way more than help.The author describes behavior based robots as a 'bottoms - up' approach (start simple, basic and move your way up from there). On the artificial intelligence level, it seems like we're still at infancy... just moving around and not crashing seems to be a triumph. The author asks "but how many useful application can be accomplished by nothing more than simply moving around?"I can think of one recent development that could accomplish a lot simply by moving around and not crashing into things. Google's self driving car does this and in many ways fits the classic definition of what a robot is. It has sensors which pick up information from its environment and uses it to move motors (a device that "connects sensing to actuation in an intelligent way", as the author defines a robot).Simply moving around is pretty important! But let's see what the future brings. This book is a few years old now, but it's still pretty relevant. I think it'd be nice to hear more current thoughts from the author.
M**T
Great selection for the curious reader.You know who you are
OK, I'm no uber geek, just someone who is very curious about robotics. I have a moderately strong CS background, but have never before delved into the EE or robotics world.I was looking for some good books to introduce me to the topic of robotics, an interest that has been scratching at the back of my cranium for some time.I was hoping that Robot Programming would cover the software fundamentals side of the equation and it did just that. Don't get me wrong, you will not find much in the way of actual code. The book is more conceptual. It does a great job describing the topics that a nascent robot programmer will face.The only negative was that the robot simulator is a bit over-hyped. I can't say that I ever felt the need to use it. Hey, that's just me. Others might feel differently.Great job Joe Jones!
R**X
Great book on principles...
The book aims squarely at teaching the concepts of behavior based robotic programming without being simplistic or being overly technical. A good example is PID controllers -- the ID stand for integral and differential. He doesn't dive down into the mathematics of it but does point out that those two stages of the controller a not separately tunable.The book doesn't present a lot of pseudo code nor does it focus on an type of microprocessor or language.It gives very good conceptual descriptions of how to create architectures that allow multiple sensors and actuators to act together to produce meaningful and emergent behavior while pointing out pitfalls and problems that may crop up. The book is chock full of block diagrams showing the setups being discussed.
S**S
Essential Reading for Mobile Robot Builders
I have read dozens of robotics books over the years and most of them suck. They were either too academic or too basic. This book is excellent and was a refreshing change.Written by one of the designers of iRobots Roomba, this book is indeed a practical guide to robotics. It is easy to read and full of practical advice that one would only get if they spent the last 20 something years working with robots. For example, the author repeatedly warns you to expect the unexpected.Even though this book incudes access to a simulator tool, the author constantly reminds you of what could occur in the real world. This book is for anyone attempting to build a single-purpose mobile robot (whether as a commercial developer or a hobbyist). Rather than focusing on a specific language or platform, the author uses pseudocode to explain concepts. The pseudocode should save you hours of frustration. At the very least, the authors good sense of humor makes reading the book quite enjoyable.
D**E
Good Book
A bit old, but enough to learn the basics.