Book Review - Maximum LEGO NXT

Well, I got a copy of Brian Bagnall's "Maximum LEGO NXT: Building Robots with Java Brains" and I've finished my first review of the material. In a sentence: The material looks awesome.
21 chapters and 3 appendices (in roughly 500 pages) - Brian starts out with a nice summarized history of Mindstorms and then quickly moves into a description of LeJOS. I've got a bit of experience with Java, and I actually read Chapter 3 (Java for Primates) and was reminded quickly of some standard programming rules that I had forgotten. He also provides a good but quick summary of the Java API. (I've skipped around a bit and also read Chapters 4, 7, 12, and 20, so I think I've got a fairly good grasp on the technical writing and the quality of the robots.)
Mixed into the book are chapters that cover a broad range of topics - one chapter covers the Technic components, another a little design theory, and he's got a really nice chapter on Bluetooth.
Around chapter 8, Brian gets into the heart of some serious robot building - the robots he includes are impressive, and he provides complete CAD step-by-steps (grayscale) for all of them. What's impressive is that he also provides plenty of mathematical discussions before getting into the actual Java code. I've forgotten a lot of basic geometry and I was surprised to see quite a bit of it included at various places in the book.
My absolute favorite design in the book has to be his version of the Mars explorer, Sojourner. His recreation is fairly true to the original - you really have to see it.
A lot of people have wondered why it took so long to get the book out. Once you see the work that went into this book, I think you'll understand and cut Brian some slack - the book is very well done.
Now I'm going to try and find some time to actually go through the remaining chapters and build his robots and try out the LeJOS code. It may take some time, not just because I'm busy and always have other projects, but also because the book is just very extensive.
Good job, Brian... definitely a quality NXT book... and I'll forgive you for not including The NXT Step as a reference in one of your appendices ;)
Comments
One of the best books to learn Java ( esp if you have programmed in other languages) is Thinking in Java by Bruce Eckel.
Note: you can see books offered by the NXT Step Blog Contributors in the site's book section
David
You are partially correct - the book does offer some basic information in programming in LeJOS. The book does not make the claim that you'll be a java expert when you finish it - the book is intended (I believe) to introduce you to LeJOS and then show you some powerful programs that can be used with the NXT robots.
David has suggested a good book on Java - and I think many people will tell you that one of the best ways to learn how to program is to take existing programs and break them down and examine how they work. I learn better that way and I have a feeling you will, too.
If you want to learn how to program like Brian, take his programs and follow them line-by-line and see if you can't figure out the "how" and "why" of his code. This, of course, will require that you have a basic understanding of java and LeJOS, so you may need to invest in a book or 2 on the subjects if you really want to become an expert.
Jim
Thanks,
Mike
Wasn't there something connecting a GPS in this book?
Yes, there is something in there related to GPS but I loaned my copy out temporarily and should have it back in a day or 2... will check then.
Jim
There are a few robots that I saw that use parts not included in the retail NXT kit - BUT - I did notice that Brian tells you which parts are not standard to NXT and he tells you where to get replacements. I don't know for all robots if this is the case, but for the Sojourner, it uses 6 rubber tires - he tells you to use 2 rubber tires from the RCX kit or to use certain gears from the NXT.
Hope this helps.
Jim
Not true. In fact, in Chapter 15, the robot gripper uses RCX parts. Page 344 clearly states, "Now comes the RIS kit parts." and later on the same page: "Slide the RCX motor..."
Beware. Other than this, after my brief paging thru the book - I see some great projects here.
Is there a support forum or some sort of FAQ? Otherwise this book isn't going to be of much value.
However, what disturbs me is that there are many discrepancies, mainly in how to load the firmware and files. I found an interesting thread here. It seems that the book was released before the newest version of leJOS NXJ will come out. This introduces several problems:
1) There is no firmware uploader, so the NXT is constantly in the clicking phase waiting for a firmware flash. The uploader will be released next version.
2) .lej files called by the book, while .bin files should be used.
3) There are many problems with setting up Eclipse.
Despite these problems, I'm still satisfied with the book. You can get all of the programs I've tried to run so far to run smoothly. If you are having trouble with this book, try reading the documentation that comes with the leJOS download. Additionally, the leJOS forum admin claims that the new leJOS release should be available in the next few weeks.
--Hardrive
A FAQ is in the process of being put together, take a look at it here.
have you started changing your NXT firmware yet?
I tried to do it yesterday, but I wasn't able.
I downloaded leJOS NXJ from this page:
http://sourceforge.net/project/showfiles.php?group_id=9339&package_id=217619&release_id=497635
and I did add the system variables too,
but when I press the reset button of my NXT, to change the firmware, and connceted it to my computer nothing happened.
I was expecting to write somewhere lejosfirmdl. page 29
do you have any idea?
please let me know
my email is : eternity5219@yahoo.com