LabVIEW for LEGO MINDSTORMS and LabVIEW for Education

Showing results for 
Search instead for 
Did you mean: 

How do you add a third party sensor to LabVIEW for Lego Mindstorms?

I recently purchased an IR Sensor from Mindsensors (DIST-Nx-Long-v3) which I need for a SLAM (Simultaneous Localization and Mapping Application) that I am developing using the LabVIEW for Lego Mindstorms software.  I installed the Mindsonsors IR Sensor, and it works under NXT-G and RobotC, but am having trouble finding a way to get LabVIEW for Lego Mindstorms to install the sensor.


The Mindsensors website gives the following instructions for installing the IR Sensor:

1.Unzip the folder LVEE
2.Open a blank vi in LVEE
3.On the Block Diagram Go to Tools->Advanced->Edit Palette Set...

Unfortunately, on the Block Diagram of the LabVIEW for Lego Mindstorms, there is no "Advanced->Edict Palette Set" under Tools.


As an alternative, I consulted the documentation that came with LabVIEW for Lego Mindstorms.  The Schematic Editor of LabVIEW for Lego Mindstorms lists several sensors, i.e. the Lego Mindstorms sensors and several Hi-Teach (HT) sensors, but there are no procedures listed in the documentation for adding other third party sensors to the Functions Palette.


So, how does one go about adding a third party sensor to LabVIEW for Lego Mindstorms?

0 Kudos
Message 1 of 14

Hi jpnoon,


I am not quite sure what you mean by getting LabVIEW for Lego Mindstorms to install the sensor, but you may be able to manually include the instrument drivers in your functions subpalette by following this:


Unfortunately I can not guarantee that this will work in your case since you are not using a full version of LabVIEW.  Hope this helps!



Cole R.
National Instruments
Software Engineer
0 Kudos
Message 2 of 14

Thanks for your suggestion, but as you predicted, it doesn't work.  In fact, it causes huge problems which were only resolved by doing a clean re-installation of the product.


I called NI customer support with this issue, and they were unable to help because they had insufficient knowledge of LabVIEW for LEGO MINDSTORMS as a stand-alone product.  They recommended that I publish the issue on the forums, which I have done.  You responded to my forums note and offered me a solution that you yourself said might not work.  Does NI actually support LabVIEW for LEGO MINDSTORMS or is this just another example of caveat emptor? 


If NI simply refuses to deal with this, I am surprised because I used NI instruments years ago when I was a young engineer, and they were always first rate.


I understand that the whole reason for offering LabVIEW for LEGO MINDSTORMS was to develop future customers for the full version of LabVIEW and other NI products, but unfortunately your inability or unwillingness to fix this shoddy product sends a bad message about the quality NI's products and NI's willingness to fix bugs and in general support its products.



0 Kudos
Message 3 of 14

If you want to use the Edit Palette Set tool in LVLM, you will need to first switch into the normal LabVIEW mode. You can do this by going to Tools:Choose Environment, and selecting LabVIEW. This will give you the full set of LabVIEW menu options.


I'm sorry you were frustrated by this issue.



0 Kudos
Message 4 of 14

Hi Ethan,


As you can see from my Word document, I am a little light on the proper terminology.  That's because LVLM comes with inadequate documentation.


I have already followed your recommended protocol for installing a 3rd party sensor (in fact, its the protocol recommended by Mindsensors) with the application set in the Remote Mode (.lvrbt), and it does create a sub-palette with all the Mindsensors functions on it.  But when I drag the Mindsensors icon to the Block Diagram and select "Distance Sensor," the Distance Sensor (an IR sensor) doesn't work (even though the Mindsensor's Distance Sensor does work with NXT-G, RobotC and LVLM under other circumstances (see below)).


If I repeat the above process with the application set in the Direct Mode (.vi), I also get the sub-palette with all the Mindsensors functions on it.  When I drag the Mindsensors icon to the Block Diagram and select "Distance Sensor," the Distance Sensor does work.


What I need for my mapping application is for the Distance Sensor to work in the Remote Mode.  I called NI tech support and the first engineer told me to simple drag the Mindsensors Functions (.vi) onto the Block Diagram.  I did this, but when I selected the Distance Sensor, the icon appeared, but the sensor did not work.  Since I have no idea what's under the hood of the vi or a function, I assumed that simply dragging the vi/function onto the desktop didn't install the vi/function properly.  I went back to the Applications Engineer, and he confessed that he did not understand the LVLM product.


My frustration is being punted to new people, none of whom so far (other than you, of course) understand LVLM.

0 Kudos
Message 5 of 14

I just downloaded the mindsensors zip to take a look but I dont have the sensor to test.

Can you give me some more detail about how it doesn't work? Do you get a broken run arrow, is it not outputting meaningful data, does it return an error status, etc.

0 Kudos
Message 6 of 14

No broken arrows or other indications that the sensor won't work.  It just doesn't put out any numbers on the Front Panel.

0 Kudos
Message 7 of 14

I will send you my sensor to play with if you will send me an address.

0 Kudos
Message 8 of 14

Front panel controls and indicators wont update in remote mode because the vi is running on the NXT, not the computer.

If you use the NXT Remote Debug option, LabVIEW will attempt to establish a mapping between front panel controls, and the NXT Dataspace, but this is a tenuous link with some known issues.

Are you attempting to use the debug option?

In particular, remote debug does not work with cluster controls and indicators, which is what the mindsensors distance vis seem to use. (We tried to avoid clusters in LVLM because of this, and the added complexity of using bundlers, but mindsensors did not adopt this pattern)

I would suggest actually unbundling and using the distane data.(try writing it the nxt screen, and see if that works)

0 Kudos
Message 9 of 14

With NXT-G, if I click on a sensor, any sensor, in the compiled/downloaded/running program, I can see the value for that sensor in the lower left corner of the computer screen.  Why doesn't LVLM have corresponding capability?  Didn't you guys build LVLM from NXT-G?

I have used the debug option, only because I thought maybe that I had introduced a bug.

I will try writing the IR sensor data to the NXT screen.












0 Kudos
Message 10 of 14