Table of Contents
Here you can send a Bug Report or a Feature Request to the toolbox developer community. Before you submit your report, please have a closer look on already posted tickets and the related comments below in the FAQ section.
Already opened and closed Bug Reports, Feature Requests and Development Tickets are listed here Ticket Listings
To add a new Ticket (Bug Report or Features Request) click here Add new Ticket
FAQ (Frequently Asked Questions)
- Does the RWTH - Mindstorms NXT Toolbox run on the NXT brick, or does it download programs to the NXT?
- No. The toolbox uses a "remote control" concept. Commands are sent to the NXT from the PC via Bluetooth or USB. All the intelligence remains in the main program, running in MATLAB on the host computer. You can't program autonomous robots with this toolbox, the "brain" always remains on the PC.
- Interaction between autonomous robots and remote-controlled ones (using this toolbox) is however possible (via NXT Bluetooth messages, for further details see documentation of other languages like NXT-G or NXC, or the official direct commands Bluetooth developers kit reference)
- Do you provide a standalone version, or is there a way to use the toolbox without MATLAB?
- No. You do defenitely need a license of MATLAB. We provided a standalone-version of some diagnostic tools with toolbox version 1.00 that you are free to download and try, but we most certainly won't update those executables in the future.
- Compatibility with free MATLAB clones like Octave or SciLab has not been tested and will not be supported. If you have any information if the toolbox is compatible or tutorials / comments on how to get it to work, please let us know, and we might update our documentation.
- How can I checkout files from the RWTH - Mindstorms NXT Toolbox SVN (subversion) repository?
- I installed the RWTH - Mindstorms NXT Toolbox to a local directory, but MATLAB can not find the toolbox commands.
- To integrate the RWTH - Mindstorms NXT Toolbox into MATLAB you have to add the local directory to the MATLAB search paths. Therefore selcet the menu item File - Set Path… and press the Add Folder… button. Select your local RWTH - Mindstorms NXT Toolbox directory (has to be named RWTHMindstormsNXT). Press the Save button to store the settings for the next MATLAB start. See also the Installation Guide.
- Your system requirements say I need MATLAB 7.7 (2008b) or higher, but I do only have an older version available. Can I use the toolbox anyway?
- Out of the box, unfortunately not. From toolbox version 3.00 on we're using new functionality of MATLAB 7.7 for the commands tic and toc, which you would have to emulate yourself in older versions (see the according release notes for tic and toc).
- To use the class NXTMotor for comfortable and precise motor control, you need at least MATLAB 7.6 (Version 2008a). Otherwise you'll have to rely on the more complex function DirectMotorCommand. You'll of course face the issue with tic and toc, mentioned above.
- If you don't need the class NXTMotor (introduced with toolbox version 3.00) or its predecessor NXTmotor (introduced with toolbox version 2.01), you could use our toolbox version 2.03 or 2.04 with classic motor commands. This should work with MATLAB 7.3 or higher.
- The toolbox version 1.00 runs fine with MATLAB 7.3, and in theory even 7.1 or better should work. Unfortunately you don't have as many features (USB connections are not supported, for example).
- Can I use the toolbox on Mac OS?
- Since toolbox version 4.01 Mac OS is officially supported. For additional installation notes please see the included readme.txt file. Unfortunately we don't have the hardware to do thorough tests, so the support might still be unstable. If you have further experience with the toolbox on a Mac, or any other comments or compatibility issues, please let us know and we will try to update our code and/or documentation.
- Where can I find the file MotorControl.rxe? I get the warning MATLAB:RWTHMindstormsNXT:noEmbeddedMotorControl!
- The full text of this warning is: Embedded NXT program "%s" could not be started. To avoid this warning, download the embedded motor control program (MotorControl*.rxe, compile from MotorControl*.nxc) to your NXT or use the options 'MotorControlFilename', '' with COM_OpenNXTEx. To ignore this warning, call warning('off!', 'MATLAB:RWTHMindstormsNXT:noEmbeddedMotorControl')
- The file MotorControl.rxe is the compiled version of MotorControl.nxc, which comes with the toolbox (folder /tools/MotorControl). For full motor functionality, it must be present on the NXT filesystem. See the InstallationGuide or included readme.txt file for further details on how to compile and download the program to the NXT.
- When trying to compile MotorControl, I get a compiler error
- The error message is: "Calling an inline function from an inline function is not supported."
- Your NXC/NBC compiler-version is too old. Use the latest beta from a file test_release.zip from http://bricxcc.sourceforge.net
- To download MotorControl to your NXT, you do not need to compile it. See the step-by-step installation guide or the readme.txt file on how to transfer it to your NXT.
- Which requirements must be provided by the Bluetooth adapter?
- The Bluetooth adapter must support SPP, the serial port profile. Somewhere on the driver installation settings or the software, this should have appeared. Then an additional serial port (COM-Port) should be listed in the Windows Device Manager (see a screenshot example on InstallationGuide). On Linux, communication is provided by the rfcomm device.
- Which Bluetooth adapters work with the toolbox?
- We documented some experiences with different Bluetooth hardware on BluetoothAdapter. Note that we have NOT tested all available hardware.
- My Bluetooth adapter is installed, but I can not get a connection to the NXT in MATLAB with the COM_OpenNXT command.
- Before you can use any MATLAB-function of our toolbox, you have to connect the bluetooth adapter to the NXT manually. How exactly this works depends on your hardware and driver. Usually, somewhere, a task icon or driver progam is installed, which provides a searching mode for bluetooth devices. If the NXT is found, you have to connect to it (using SPP). As verification, an authentification dialog should appear on the NXT. Once you have done this, the serial port gets valid, and you can use our toolbox commands, i.e. COM_OpenNXT. Please note that the little Bluetooth status icon in the top left corner of the NXT's display must turn from B‹ to B◊, otherwise the connection is not complete and you will not be able to use the toolbox commands.
- If nothing else helps, you can try to initiate the Bluetooth connection from the NXT (before using the COM_ commands in MATLAB). To do this use the NXT's on-brick main menu, go to Bluetooth, Search, and then select your computer or your Bluetooth dongle device. Make sure that on your Computer, Bluetooth visibility is turned on and incoming connections are allowed. Again, the icon in the top left corner of your NXT must change from B‹ to B◊, otherwise it won't work at all.
- I'm having trouble getting Bluetooth to work on Linux.
- Please follow exactly the steps provided in the LinuxReadme.txt file. It comes along with other utilities in the folder /tools/LinuxConnection of the toolbox. Make sure all packages are properly installed and all services are running (maybe a restart is needed). Make sure the physical connection to the NXT can be established. If nothing else helps, try running MATLAB as user root (or use sudo to start MATLAB) to eliminate possible access restrictions. Sometimes a user has to be member of a group called dialout, or the command rfcomm has to be executable for the current user (add user to list of sudoers).
- Connection to the NXT via USB is not working…
- On Windows, make sure that the LEGO MINDSTORMS NXT Fantom Driver version 1.02 is installed. For a link, see the download section.
- On Linux, please follow exactly the steps provided in the LinuxReadme.txt file. It comes along with other utilities in the folder /tools/LinuxConnection of the toolbox. If nothing else helps, try running MATLAB as root (or use sudo) to eliminate possible access restrictions.
- Use the toolbox command DebugMode on before calling COM_OpenNXT. It can provide useful information for troubleshooting.
- The little Bluetooth status icon in the top left corner of the NXT's display must turn from B‹ to B‹ USB, otherwise the connection to the brick cannot be fully established and you will not be able to use the toolbox commands. If you see this symbol B‹ ]—[, your NXT recognizes a USB cable, but there seems to be some kind of connection or driver problem on the computer.
- I have trouble installing the Fantom driver (for USB connections in Windows), or my NXT is not recognized.
- I can't open USB handles using the 64bit version of MATLAB.
- Unfortunately, 64bit operating systems (or at least the 64bit version of MATLAB) are currently not supported. First of all, LEGO doesn't provide a device driver for 64bit Windows, but you can download a working driver from http://www.robotc.net/download/nxt/ . Still, there is a problem in MATLAB loading these libraries. If you want you can try generating your own so-called thunkfile from the Fantom SDK header files, and load it on your own. See also ticket #28. If you have experience using the MATLAB-command loadlibrary on 64bit systems, feel free to contact us…
- Do I have to update the NXT brick's firmware?
- No. all toolbox versions work with the original LEGO MINDSTORMS NXT firmware.
- For toolbox versions up to 2.04, we strongly recommend to use the latest version 1.05. You can obtain it from the official LEGO NXT website. John Hansen's enhanced NXT firmware 1.07 is also supported.
- Toolbox versions 3.00 or better require firmware 1.26 (comes with NXT-G Education 2.0) or 1.28 (comes with NXT 2.0 retail set). John Hansen's enhanced firmware 1.27 is also ok.
- For precise motor control, it is necessary to download the NXC program MotorControl to your NXT. It comes with the toolbox. A batch script for easy transfer to the NXT is provided. For more details, see the Installation Guide or the readme.txt file.
- Which NXT building kits can be used with the RWTH - Mindstorms NXT toolbox?
- We fully support the NXT 1.0 retail set, the NXT Education set, as well as the new NXT 2.0 retail set. However the new NXT 2.0 color sensor is not supported yet. It is backwards compatible to the NXT 1.0 light sensor and can still be used to just measure brightness. See also #38
- Please note that the NXT bricks from NXT 1.0 and NXT 2.0 are identical, there was no hardware upgrade.
- Is the RWTH - Mindstorms NXT Toolbox also adaptable to the RCX hardware?
- No. The toolbox only supports the MINDSTORMS NXT hardware technology, since the Bluetooth and USB interface and the related LEGO Bluetooth Communication Protocol for communication is used.
Programming / Sensors & Motors
- I'm using the ultrasonic sensor, and I'm getting strange results…
- Please note that multiple US sensors do influence each other. To avoid interference with multiple US sensors, use the ping/snapshot mode (see function help of OpenUltrasonic)!
- The US sensor has a very wide opening angle, up to 60 degrees. Also you get a lot of interference from round objects (i.e. bottles). Walls or other plain surfaces facing 90 degrees towards the sensor are best to detect.
- I'm using the class NXTMotor, and sometimes my NXT makes a warning signal (beep) and nothing happens…
- The NXTMotor class operates through a custom MotorControl program running on the NXT. It can only process one command for a motor at a time. If a certain motor is already running while you issue a new command (using .SendToNXT()), the NXT will drop this command, since the motor is still busy. Make sure to stop the motor before sending a new command (using .Stop()) or be patient until the last command is processed (use .WaitFor()).
- I'm controlling two motors, and when their movement has stopped, the motors make a strange high-pitched noise…
- This is a feature of the NXT firmware. The sound occurs when working with two synchronized motors, e.g. for driving robots. Once the movement has stopped (using old-fashioned SendMotorSettings command from toolbox version 2.*, or using ActionAtTachoLimit = 'Coast' with NXTMotor in toolbox version 4.*, or DirectMotorCommand), the motors are still synced. If you move one motor, the other will move, too. This by design, and this is when you hear the high-pitched sound from the motors. To disable this noise, just send a .Stop() command from NXTMotor or use StopMotor(). The next motor command should clear / override the synchronization anyway.
For more information you might want to consider the section "Troubleshooting" of the toolbox help. You can also view this document below:Troubleshooting (opens in a new window)
Checklist for New Releases
This todo-list might have to be updated for future public releases with many developers / contributors collaborating, it was first intended for internal use and then published → Checklist for New Releases.