The articulation point allows Voyager both to bend in the middle to steer AND allows the two end to twist.
The first picture is of the articulation point. It uses a turntable for the twist joint. The articulation joint is just forward of the turntable (right of the turntable in the picture). Picture #2 shows how the twisting action allows one set of wheels to go up over an obstacle while all 3 other sets of wheels stay on the ground.
Here is the bluetooth GPS module. It is mounted inside a cradle using those little rubber pieces from the NXT kit to hold it snug. NXT-G cannot read messages from a bluetooth GPS right now. Some people have worked towrd getting NXT-G to do it, but it is not easy. Rather than trying to do that myself, I decided to change to another programming language, RobotC.
Right now, Voyager has two modes in its program. In "manual" mode, it is driven remotely using a mindsensors's PSP-NX sensor and Playstation 2 remote. In this mode, pushing up & down on the right analog joystick moves Voyager forward and backward. Left & right movements on the same joystick turns Voyager left & right.
Pressing the L1 button on the PS2 controller switches Voyager into "auto" mode. As soon as Voyager enters this mode, it takes a reading from the compass sensor mounted just behind the front wheels. It then proceeds to drive straight along this same heading until I switch it back to manual mode. While in auto mode it continuously monitors the heading values from the compass sensor and automatically steers right and left to maintaing the correct heading.
I programmed all this in NXT-G. The next step is to incorporate the bluetooth GPS that is mounted at the front just ahead of the compass sensor. To do that, I changed programming lauguages to RobotC.
I did not upload the NXT-G program because it caused me to go over the 5MB/project limit on NXTLOG (the .rbt is 3.3 MB on its own).