Microsoft Robotics Studio

Microsoft just announced Microsoft Robotics Studio -- a Windows-based environment that includes robotics development platform and lightweight services oriented runtime. The Studio provides simulation runtime and relies on the web services application model to interact with available services (this is especially close to my heart as the two books that I co-authored for O'Reilly were about webservices).

The toolkit currently supports LEGO Mindstorms (both RCX and NXT) and Fischertechnik interfaces.

The discussion group that covers Robotics Studio already has several interesting threads. From one of the messages (slightly edited for presentability); unfortunately I don't see any way to link to a particular message, but you can search for several "Absolute Horror" messages:

Robotics Studio will take your focus OFF the real problem - how to integrate timing into your design. Time is THE most important thing when you design a robot. You can have a dumb cap and resistor running the whole show as in Beam robotics and get great results. The further you abstract your framework and the more you rely on the simulation the more damage you will do to the community. What we really need is a BUS not a framework. And a way to hook up that bus to a PC. We do not need a framework without a bus. Robotics Studio is trying to create a distributed environment where timing will be explicit. These concepts are only applicable to the simple machines most people mistakenly call robots -- these are NOT robots. These are toys. [...] Instead learn the following:

  • Everything you can get your hands on regarding oscillations and timing related to oscillations. Forget about traditional NNs - they are made of Layers (just like Ogres - watch shrek 1 for a good explanation) If they weren't made of layers (backpropagation is only good for non-temporal patterns) they just might work... Statistics (corrleation especially). Embodyment. Compliance. Types of learning (Supervised, Unsupervised, Reinforced). Hardware such as Bus design, servos, H-bridges, sensors. Forget PID control - your bot has to learn it otherwise it will not integrate well with the rest of the system.
  • One thing I want to tell about amature robotics - the only way you get a complex behaviour is by increasing the number of actuators/sensors. The only way you can do it is by making the devices more affordable. The only way you can do that is by making the devices simpler and standardizing them. Robotics Studio wants to add XML processing to devices which contain 25-128 bytes of ram such as pics... and waist my precious CPU cycles on parsing it. I got one word: forgettaboutit.

Cofing4Fun also has a page dedicated to programming for LEGO Mindstorms (although no articles that cover the new NXT version yet). All this should run on top of Visual Studio Express, which is free.

Leave a comment

what will you say?


I am Paul Kulchenko.
I live in Kirkland, WA with my wife and three kids.
I do consulting as a software developer.
I study robotics and artificial intelligence.
I write books and open-source software.
I teach introductory computer science.
I develop a slick Lua IDE and debugger.