|Version 3 (modified by atorf, 4 years ago)|
Which version should I use?
Generally speaking, we recommend you to use the latest stable version of RWTH - Mindstorms NXT Toolbox for MATLAB. Stable versions were either used in our student project with over 300 participants or were approved to be used. This means a lot of testing has usually ensured those versions are bug free. If you encounter a problem or bug using one of the stable toolbox versions, the problem has most probably been caused by the end user and is not a toolbox bug.
Currently, the latest stable recommended version is 2.03.
If you want better features, using a newer milestone version should be ok, too. This kind of release hasn't been tested as much, or it hasn't been used in a real project yet. It should be pretty stable, but we can't guarantee that yet. Also we might still be working on the documentation.
In this case, version 2.04 should be as stable as 2.03, but with a new NXT-function for bi-directional communication to NXC programs, and better support for Gyro sensors. If you need these features, definitely give 2.04 a try.
With the latest beta releases 3.00 and 4.00, we're under heavy development. The version numbers are explained below. Version 4.00 has really great new features, but is still in beta stage. The motor control is better than ever before. If you need performance (i.e. fast motor response) and precision (up to 1 degree), this version is what you've been waiting for! Although it's still a beta, it seems the new features work pretty great. Documentation is not up to date in all places though. With this release we require at least MATLAB 7.7 (R2008b) or higher, as well as LEGO Mindstorms NXT Firmware 1.26 or better. If you don't meet these requirements, better choose a different version. The next milestone release (where the new features will have been tested more thoroughly) will probably be available in a couple of months (between 09/2009 and 11/2009).
Read on to understand the evolution of the RWTH - Mindstorms NXT Toolbox. For more information you can still consider the version history.
- We started out with version Version 1.00, presenting a toolbox and documentation package for MATLAB which enables you to control LEGO Mindstorms NXT robots via a wireless Bluetooth connection. MATLAB version 7.3 (maybe even lower) is needed, Firmware 1.05 is recommended.
- With version Version 2.00 we introduced USB connections (about 10 times faster than Bluetooth) and various performance improvements. The possibility to connect to multiple NXT devices at once was another new feature. Old Bluetooth functions starting with BT_ now begin with COM_ (for communication).
- During the next versions a major new feature was better motor control: By using an embedded NXC program running on the brick, motor precision was improved (without the need to monitor motor movement via MATLAB). As new interface the class NXTmotor is introduced, harnessing the new object-oriented syntax available with MATLAB 7.6 (R2008a). Also more 3rd party sensors from HiTechnic were supported. This development finally lead to stable version 2.03.
- In 2.04 we just introduced a new NXT messaging function for bi-directional communication between NXC / NXT-G programs and the computer, as well as fixing a previous limitation of the HiTechnic Gyro sensor functions.
- With version 3.00 (beta) the classic commands to control a motor known from version 1.00 are removed. The only way left to send commands to a motor now is via the class NXTMotor, which was formerly known as NXTmotor. The little syntax changes make this version ready for some new features. The main purpose of this version however is to have a fall-back option: Before radically changing the motor control in 4.00, other stability features are already implemented here in 3.00 (beta). Also the lag for motor commands is being reduced at the same time. Development on this 3.xx branch will only be continued if the newer version 4.00 (beta) proves to be very unstable or if new unknown problems arise. This version now requires MATLAB 7.7 (R2008b) and strongly recommends Firmware version 1.26 (1.05 should still work in theory).
- Version 3.00 (beta) prepared the toolbox for the next generation motor interface by removing old deprecated features and integrating all other improvements, apart from the new motor control. On the (potentially stable) base of 3.00, the completely renewed NXC motor control program was put in place. The result is version 4.00 (beta). Commanding motors is still done via NXTMotor, extended by some new features. Motor performance and accuracy is greatly improved. This 4.xx branch is currently being heavily tested and is expected to become the best & final version of the RWTH - Mindstorms NXT toolbox one day. Firmware 1.26 or better is required.
Please note that versions 3.00 (beta) and 4.00 (beta) are syntactically very similar (while having a totally different way to control the motors and a different backend). This makes changing between those version branches quite easy for the user; 4.00 just introduces some new properties for the motor class. The big version jump from 3 to 4 was necessary for two reasons: Being able to develop two different branches (depending on testing results of 4.00) on one hand, and minor but significant syntax/protocol incompatibilites with the low-level motor control interface on the other hand.