Some NXT relevant cites from the Microsoft Robotics Studio Newsgroup

The newsgroup for the Microsoft Robotics Studio is up and running now for some days and the Microsoft guys have become creditably responsive on questions, hence I consider it worthwhile to abstract some statements made there in respect to NXT support.
For details please refer to the newsgroup in question itself (which is a advicable place to visit anyway for anybody interested in the Robotics Studio).

As to Studio services not running on the NXT hardware

[...] in the case of the NXT, if you want to create an application with our development tools you do require a PC with the NXT and [...] we do not currently support code development and deployment on the NXT hardware. This is the approach that we discussed with LEGO and they agreed would be the best way to start.

[...] rather than assuming that all your processsing horsepower is limited to a single compute unit, it can be spread across multiple processors. [...]I believe that our future will not be of isolated robots doing multiple functions, but sets of specialized robots that are coordinated (or maybe both).

What would be required is to port our runtime (probably subset) to run on the native firmware (or replace the firmware with something like Windows CE).
[...] this could probably be done by a third party, but probably requires
some technical information/support from LEGO and Microsoft. Generally we
would expect a hardware vendor to provide this with support from us [...]
We need to talk further with the folks at LEGO because creating something that would natively compile and execute would compete with what they are supplying.

Features planned for upcoming releases

[...] we are working on a program to run on the NXT which will properly inform our services of sensor events.
(Ben Axelrod, 06/27/2006)

We can also give you a nice debugging environment for your custom code that you can download on the NXT, plus a UI to monitor your NXT when its roaming
(George Chrysanthakopoulos, 07/03/2006)

Bluetooth communication from NXT to PC] is definately possible and its exactly we will be showing with our next set of LegoNXT services and tutorial.
(Ben Axelrod, 06/27/2006)

[...] we do plan in our next release to give you a lot more "standalone code" that runs on the NXT and communicates with MSRS services on the PC.
(George Chrysanthakopoulos, 07/03/2006)

Pricing model (will Robotics Studio be available for free in the future also?)

[...] we haven't announced final licensing yet. The preview is free for all to use. Like our VS folks we prefer to evaluate the response to the preview before we lock things down. Further, we do understand the state of the industry and the community
and believe that at the present time it is not likely to generate large
revenues yet and to help the industry bootstrap itself it must be affordable
to a large audience. So we are evaluating how best to do that which still
makes good business sense and while I won't make a commitment at this point,
the model our VS people have adopted about having a free subset and a
moderately priced commerial offering is attractive.


Anonymous said…
I guess that building your own autonomous program apart from the Robotics Studio and then having a sophisticated PC application to interact with is nice. Am I understanding the "Studio" correctly? I would hope that several cross-compilers would be available in this offering in the future.

I am hoping that the NQC folks come up with NQC for NXT. I didn't get very far with NQC for the RCX (life got in the way), but it appeared to be a good package.

Any word on Lego releasing the source code?

By the way, I just got my NXT yesterday. I installed the software on my laptop with W2K SP4 and it worked fine with BT and USB. They claim that only XP is supported, but so far, it looks like W2K is OK.
Mark Roxberry said…
Robotics Studio use .NET - many languages and compilers are available (as are many languages). You can think of .NET as an abstraction of the Windows API - C#, VB.NET, J# - even COBOL.NET are available as languages. Ultimately, compilation of the source code from these languages creates MSIL code which then interacts with the .NET CLR (Common Language Runtime) - like the Java VM, but more integrated with Windows and its subsystems. Also, note that you can d/l free Express versions of the VS.NET IDEs (VB.NET, C#) - or use notepad and the vbc.exe or csc.exe (or whatever other .NET compiler) to compile without an ide.

I can't wait for the sensors and bluetooth code to get posted - I'm pulling my hair out trying to get data from the NXT to my PC. I want to create a few base PC's around my lab and have my NXT do "pathfinder" type work using a network application (so many more projects to come from just getting this functionality, IMHO).

Using .NET, I plan to roll out an Object Model, Performance Counters, multi-tiered applications (web servers, app servers, database servers, etc.) for NXT. In my opinion the MSRS work is a "good" thing.

RE: NQC, checkout It looks like there is work in progress on NQC for NXT.

Have fun with your NXT :)
Anonymous said…
I have noticed that the NXT will pair with a BlueTooth enabled computer, even when the NXT-G IDE is not opened. I'm wondering if the send/receive message block could be used to communicate with the PC. This would require some custom software on the PC to access the NXT and parse the mailbox/message structure. It would be nice to have a java class or activeX to handle the underlying NXT BlueTooth messaging protocol. Presumably then programs could be developed in Java, C#, or Visual Basic.
Anonymous said…
The NXT is BT 2.0 compliant, which is why it is recognized by non-NXT software. It supports the serial port profile, so you should be able to read from the COM port that it's connected to when you do a send. I'm going to try this tonight. I would like to be able to send sensor info to the PC via BT and then text message my cell phone with any important "sensings" while I'm out. This is actually very easy using a Perl script. I've already prototyped something. If the NXT acts like I think it should, this should be a breeze.
Anonymous said…
OK, the NXT bluetooth serial port profile doesn't act like a normal serial port. With the mailboxes, etc, there is obviously a protocol. I'm not sure if BT compliance can be claimed if this is true, but I'm not familiar with the robot bluetooth class, so it may be allowed. Does anyone know how to communicate from PC to NXT over BT? When is the BT tutorial and SDK coming?
Brian Davis said…
I'm not sure when the BT SDK will be released, and actually I'm not yet sure how to send NXT-G type messages outside of, well, NXT-G. But there's already been some computer-to-NXT BT comminucation. See, for instance (and it's not the only one or even the first):

Steve Hassenplug and at least one other member of the MDP have approached and cracked this problem as well.

Brian Davis
Unknown said…
Im trying to build a lego robot working with NXT code, being controlled from a pc. To do that i think i need a server. THE question is WHICH SERVER WORKS WELL/ SUPPORTS NXT CODE? would IIS do?

thanks for your help in advance.

Popular Posts