Tuesday, June 27, 2006

More Answers from Tandy Trower, Microsoft Robotics

Updated on 28/6/2006.

I asked Tandy Trower the following question:

Filip: Targeting the autonomous software with C# is actually a really cool feature, that allows for load balancing between PC (high level functions) and the robot (“autonomous nervous system”). Lego Mindstorms NXT is also poised to be the best robotics platform to get started. Can I ask what is stopping your team from using .NET Embedded, and the tiny CLR of the SPOT initiative?

Tandy: First, it’s great that LEGO selected a 32-bit processor for the NXT. This shows a lot of foresight on where things are headed in robotics. It opens up many possibilities and a lot of horsepower. However, with regards to Microsoft putting out a version of ones of its 32-bit OSes (e.g. Windows XP embedded, CE, or MicroFramework (SPOT/Tiny CLR), let me suggest that might not make sense for the following reasons:

1. LEGO already provides an operating kernel/firmware for the NXT. Since the product is just coming to market it is unclear the need or demand for an alternate kernel. We already support NXT from Microsoft Robotics Studio as-is. Before we talk about an alternative the market needs to assess what’s here.

2. We have not done an assessment about the practicality about trying to port a Microsoft OS to this platform in terms of its memory footprint or other requirements. Such assessments are generally best done by the hardware vendor. Further, that would involve a different group at Microsoft. My group is focused on application development available for a wide variety of platforms. While we believe NXT has the potential to be tremendously successful, it isn’t our mission to create a Microsoft OS for this or every other robot but create an architecture that can talk to what’s there. So some assessment would have to be made on what would be a good fit. TinyCLR (also known as MicroFramework or SPOT) might fit, but doesn’t have sufficient support for hosting our runtime, so this would require not only a port of the MF kernel, but also of our runtime. So it wouldn’t buy you much more than you would find on LEGO NXT already.

3. Microsoft typically doesn’t sell our OSes directly to end-users. We license to OEMs (hardware vendors) or distributors. Neither LEGO nor a distributor has come forward requesting this. Frankly it’s a tough business model to try to sell an OS for a platform that already has an operating kernel.

I believe this is a fairly clear answer. In my mind, this means that to develop NXT onboard software, the best solution is likely to be the solution delivered by Lego as part of the retail set. Powerful, adapted, simple.

For robots that need to give up their autonomy in order to have more computational power, the Microsoft Robotics Studio may be a good solution.

When it comes to the simulator, modelling the physical shape and properties of the Lego robots is a major obstacle at this time. So the simulator seems best suited for expensive robots, that also do not change their shape frequently.

Finally, the pricing of the Microsoft Robotics Studio is completely open ended, and solutions using it may well end up being too expensive for other users.



Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home