The Microsoft Robotics Studio 2008 offers a suite of tools that makes it easy to write code that controls robots, from simple robots to advanced robots. Application developers can choose from the Visual Programming Language within the Microsoft suite or C# to create code. The runtime takes care of all the concurrency headaches so developers can focus on the more important issues of coding for robotics.
Microsoft's newest version of its Robotics Studio
is a whole set of tools designed to help developers write code that controls robots.
The Robotics Studio 2008 offering, launched in
mid-November, includes an IDE (Integrated Development Environment)
for visually and graphically producing your code. Developers can also
use the tools in conjunction with Visual Studio to write their own
Robotics Studio includes the Visual Programming Language IDE, as
well as several runtime libraries to handle the connections to the
devices. There is also an entire simulation environment and a set of
preconfigured services set up to work with several popular robotic
devices (such as Lego Mindstorm devices).
Concurrency and Robotics Studio
Robots involve multiple concurrent processes. For example, the
robots the United States has sent to Mars have to do an enormous amount
of things simultaneously. They move around the terrain, which involves
controlling the steering and power of six wheels, each of which has a
separate motor. They're also taking readings from the various
instruments, responding to remote commands from Mission Control, and
sending data back to Earth. And don't forget they're even performing
scientific experiments. (For example, they include an alpha particle
All of these processes involve separate code in the form of
multithreaded processing. For a programmer, that can be nightmarish, as
they have to take care of locks, semaphores and all the usual
multithreaded headaches. That's where the Robotics Studio makes life
easier: It includes the CCR (Concurrency and Coordination Runtime),
which is a programming model that handles messaging and orchestration
primitives, alleviating the need to manually handle all the low-level
threading headaches. This lets the developer focus on more important
tasks and spend less time fighting with low-level code.
I ran Microsoft Robotics Studio on a Toshiba Satellite U305, running Microsoft Vista, with Intel Core 2 Duo 1.8GHz and 2GB RAM.
One fun thing about the Robotics Studio is it includes a 3-D
simulation environment that models actual physics (using the PhysX
engine from Nvidia). At first glance, the presence of this Microsoft
Visual Simulation Enviroment in a robotics studio might seem a bit odd,
but the reason is that the simulation environment can include a
simulation of the robot itself. This simulated robot can interact in an
environment in the same way that a real robot would. In other words, if
you don't have access to a robot, you can still control a simulated one
that behaves just like the real thing.
Microsoft included with the Simulation Environment several
pre-packaged sample simulations of actual robots, such as one called
iRobot Create. This is an educational robot for students and
researchers made by iRobot, a company that makes robotic vaccuum cleaners
. There is also the LBR3 Arm,
made by KUKA, NXT Tribot (part of the Lego Mindstorm line), and the Pioneer 3DX, made by Mobile Robots