<div dir="ltr">Hi<br><br>I am Charles Manning. I live near Whitecliffs (about 70km inland from Christchurch).<br><br>I am the &quot;dad&quot; refered to at the August 20th meeting. I have been involved in robotics for quite a few years and for a time I worked at Trimble Navigation designing and programming tractor guidance and steering systems. That&#39;s basically turning a tractor into a big, big, robot! We use gyros, accelerometers and GPS as the input sensors. Obviously these systems have to be very reliable because crashing one can cause a lot of damage.<br>
<br>The first time I turned on a new system I was testing I had connected the motor the wrong way around and crashed into a ditch and had to get towed out!<br><br><br>We have both Lego RCX and NXT robots. One of the things that really frustrates me about most robot programming languages (Basic etc) is that these don&#39;t structure the code well. That made me very interested in Java and the Lejos project in particular: <a href="http://lejos.sourceforge.net/">http://lejos.sourceforge.net/</a><br>
<br>I contacted the Lejos programmers but they had not yet done a port to NXT so I decided to start the effort because I had a lot of experience with the microcontroller used in the NXT. Here&#39;s a picture of an NXT with the plastics off:: <a href="http://users.actrix.co.nz/manningc/lejos_nxt.jpg">http://users.actrix.co.nz/manningc/lejos_nxt.jpg</a> <br>
As you can see there&#39;s a ribbon cable out the side that is connected to the debugger unit used to load in test code. <br><br>All the low level code is written in C and assembler. It needs to be very fast to get everything done. The NXT processes up to about 50,000 interrupts per second. This low-level code then runs a very tight Java VM allowing people to write Java code for the robot.<br>
<br>The Java code compiles to classes. When you download a new program you just download the classes that are not already on the system. Since most programs share the same base classes (eg. motor control) this means that you can normally stuff a lot of classes into the robot.<br>
<br>Java is a very well structured language and this has lead to lots of modules being written including quite sophisticated things like behaviour based handlers.<br><br>Lego published the circuit diagrams for the NXT which makes it a lot easier for people to&nbsp; make their own sensors. I will maybe run people through how to do this.<br>
<br><br>Charles<br>&nbsp;<br><br></div>