Review: Raspberry Pi Robotic Projects
Here is my thoughts on Raspberry Pi Robotic Projects by Richard Grimmett
Today I am going to review the Kindle Edition of Raspberry Pi Robotic Projects.
As I am sure you have guessed this is a book about robotics projects you can do with your Raspberry Pi. It is written by Richard Grimmett.
I was going to write up a little blurb about Richard but I couldn't find anything on him with a basic internet search and in the book it was weird that there was more about the reviewers than there was the author, maybe he is a man of few words when it comes to himself, luckily he has plenty to say about the Raspberry Pi!
I have decided to do a chapter by chapter review of the book, let me know if you find this way interesting or if you would rather I reviewed books as a whole in future.
Setting up the Pi
I thought this was useful even though by this stage I have set my Pi up about 7 million times (give or take) and assumed a lot less than some of the guides I have read online.
I thought it was weird that for downloading WinSCP the reader was asked to search for it and download it, for things like PuTTY the links were given.
An introduction to programming in Linux
Again I thought the lack of assumption was good and the basic Linux commands were exactly what I would expect.
Personally I thought it was very weird that different text editors were mentioned that Emacs was chosen, maybe I am just biased as a Vim user but if Nano is on the machine it is a much easier text editor for completely new folk to pick up, and if you aren’t completely new you probably have a text editor of choice.
I did enjoy how Richard explains things like file extensions being a bit different between operating systems, it shows he has really tried to get into the head of someone who doesn’t use Linux frequently.
I think Python is an excellent choice of programming language for new folk so was glad to see this was what was being offered for the first programming example.
I enjoyed reading the really brief introduction to basic language constructs, I thought however that maybe introducing Object Orientated code was maybe a little premature if we are assuming folk have only just started programming as of this book.
Next up we look at some C++, I am a complete C++ newb so this was very interesting to read through. I am glad the basics were explained but they didn’t completely go through the previous example again.
Our first real project, getting speech input and output sorted
Unfortunately I don’t have access to any of the hardware that this book requires at the moment so I couldn’t follow any of the guides through.
One thing I thought was a bit odd that when mentioning extra stuff to buy there was no hint of good places to look online or model numbers if you wanted to use what the author had used. I understand though that this might localise the book too much.
The instructions for doing everything were clear and there was good use of images and screenshots throughout that you could refer to.
I loved the approach of getting us to try different things in different stages, it was like capturing input, check, showing output, check, without worrying about how anything interacts together.
I find this is a much nicer way to explain something because the reader isn’t lost until the final step.
Giving your RaspberryPi vision
I love that we are almost going through a robot’s senses, we have given it hearing and speech, and now we are going to give it vision! This is the type of stuff I dreamed about doing when I was a kid.
One thing I noticed reading through this chapter is a lot of the
apt-get stuff is repeated, this is excellent because the author knows that most of us will flick through a book and start hacking on stuff as soon as we hit something that interests us.
I was actually talking to my boss about OpenCV the day before I read about it in this book, that is the library that we use in this chapter to let our Raspberry Pi look and reason via a webcam.
Lets make our Pi move!
We have given our Pi sight, hearing, and a voice, naturally the next stage is to give it movement.
This chapter starts getting very hardware focused as we put wheels on our Pi, again though great effort has been went to to ensure that everything is well documented and there are plenty of photographs to follow.
Wheels are for losers
This chapter teaches us how to make our Pi walk, with legs. If you want to make your Pi walk (why the heck wouldn’t you?) then you really should consider buying this book!
Adding sensors to avoid things with the Pi
This is starting to hit the limit of what I would feel happy hacking on and understanding, which means this is where the real fun starts!
I love that because of Richard's writing style even complicated principals seem manageable.
Creating a remote control for the Pi
Now we have a Pi that can move about it would be great to be able to control it, in this chapter we are shown how to do this, there were a lot of new tools in here for me and I learned a lot.
ZigBee is one example of this, I had no idea of this standard before reading this book.
Finding our Pi
Now that we can make our Pi move and control it wirelessly there is every chance we could lose it, luckily in this chapter we learn how we could attach a GPS device so we could track our Pi.
Bringing it all together
Like I mentioned before, Richard has written each chapter in a way that you didn’t need to build upon previous chapters, which I like but now we are some way through the book we take pause to bring everything we have learned together. This is where we are shown the best way to get different parts talking to each other via ROS (Robot Operating System, something else I hadn’t heard of before.).
Remember when I was super excited about getting our Pi to walk? Yeah screw that. Now we are using our Pi to control boats, helicopters and submarines! What a way to end the book!
As you can likely tell by the length of this review, I really enjoyed this book. If like me you used to dream about making your own robot then I can highly recommend picking up this book and having a play!