Make a Raspberry-Pi Controlled Robot teaches you how to build a capable and upgradeable personal robot for around $100. You'll learn how to control servos, respond to sensor input, and know where your bot is using GPS. You'll also learn many ways to connect to your robot and send it instructions, from an SSH connection to sending text messages from your phone.
Donat does a great job of giving the reader everything they need to know to build a rover (like the Mars rover) out of a Raspberry Pi and some motors and sensors. It's definitely a project I intend to add to my ever-growing list of hardware hacking projects. This book gives you enough info to get started while also pointing out places where the user could go off and make it their own. Very great balance and I heartily recommend.
This is a good book but an uneven book. It does do exactly what the title suggests it does: It will teach you how build a nice rover sized robot using mostly off the shelf parts. It will convince you that such a task is pretty easily obtainable using those parts. And it will fill you with excitement at the prospects of doing so. Follow the instructions in this book and you'll not only learn a lot about single-board computing and robotics but you'll have fun doing so and will end up with a pretty impressive thing to brag about.
However...
You won't necessarily learn the *best* way to do those things. I'm a programmer so I'll start with the code samples. Yes, they will get the work done but they are not very refined. And by "refined" I mean I mean no more than the simple use of variables and functions. Instead of, for instance, starting by creating a variable like "sensorInputPin = 19" and using that he repeats the number 19 a dozen times or more. If you decide to change the pin to 18 you have all those lines of code to edit. And you'll have a hard time reading it again. His final example, wherein he puts all the code samples together and adds some control logic to drive the rover, is twice as complex as it should be because he didn't simply create a function to handle the keyboard input. Instead he repeated all of that logic twice! And failed to use variables. I mean, he coded well in some spots, but not most spots. Uneven.
His section on assembling the rover taught me construction techniques I would never have considered. Exactly the things that have kept me from building a big bot all these years. But I had to flip thru the book multiple times and read between the lines just to guess how the motors were hooked up to the battery. At first reading I totally missed where they were getting their power! Two diagrams would have made all that much clearer: A block diagram showing the subsystems and a complete wiring diagram showing everything. Because of the admirably simple design of the rover neither of these would have been complex or difficult to understand. Again, uneven.
And I'm pretty sure he's confused about reed switches and Hall effect switches...
But I'll finish with two points in Mr. Donat's favor: 1) I got my copy from the library. After I return it I'll stop by my local bookshop and buy my own. 2) I keep thinking about that old pedal car that's been in the shed all these long years and what a sweet rover I could build with it...