Wow, did you know that Microsoft has a robotics group?  I just noticed that they released a Microsoft Robotics Studio.  I am downloading this technical preview now to check it out.  This to me is a huge leap for the robotics industry.  Putting the power of Microsoft development tools to build robotic applications is a win win solution.  I finally can merge my two passions of software development with Microsoft technologies and building robots!  I am very excited about this project.  Make sure you check out the Channel 9 video about the group.  Keep an eye open for your favorite robot somewhere in the background of the video.

Some projects the group is working on.

Key features of the platform

  • Concurrency and Coordination Runtime (CCR) - An asynchronous messaging library that makes managing state changes easy to the developer.
  • Robotic remote control via a web browser
  • Scripting robotic commands via jscript to create complex robot movements
  • Multiple hardware platforms.  Currently supporting Lego Mindstorms (RSX and NXT) and fischertechnik.
  • Support for 8, 16 and 32 bit processors
  • Separating state from behavior
  • DSS - A services layer
    • Support for service contract programming where multiple input or output devices can be used by simply altering what device is bound to the contract.  Example:  A contract could be established that controls the robots movement.  A keyboard device could be bound to the contract to provide the input that moves the robot.  Or a joystick device could be bound to the contract to provide the input to move the robot.  The point here is that support is in place for a pluggable architecture or re-usable components.
  • Subscribe publish model that allows for a lot of autonomous agents to react to state changes.  This promotes a decoupled environment.  You can create a published event like bumper touched and later build a component that subscribes to that event and reacts to it.  There can be multiple subscribers to the event. 
  • Model simulation - You can model your environment and run your software without any hardware.
  • Since the applications are service based you could distribute services across multiple machines. 
    • Example if I create a service that monitors my door bell and expose the service to the public you could subscribe to my service and perform some action when my door bell is rung.

Well I could go on and on about this new platform but I want to get started on using it.  I will first go through the tutorials to gain an understanding of how it works.  Luckly I have a Lego Mindstorms RSX kit.  After the tutorials are complete I will try extending the services to support a BX24 bassed hardware device.

Comments


Comments are closed