RobotProgramming - An Introduction to Programming Robots...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon Printed from An Introduction to Programming Robots with Microsoft Robotics Studio Earlier this year Microsoft released Microsoft Robotics Studio—an SDK that you can use to program robots ranging from small robots like the iRobot Roomba vacuum to the large robots used on assembly lines. by Sara Morgan Rea arlier this year, Microsoft released a Community Technical Preview (CTP) of its robot-programming SDK, called " Microsoft Robotics Studio ," the result of work done by one of the groups emerging from Microsoft Research. Robotics Studio provides a high-level generic interface for programming a wide range of robots using a distributed model. The utility of this approach is apparent by the fact that both hobbyists controlling robotic kits or toy robots and serious roboticists controlling large and complicated robots can use the same SDK. This article presents an overview of Robotics Studio, and then shows you how to use the SDK to program the iRobot Roomba vacuum robot. Microsoft Robotics Studio The small group that created Robotics Studio hopes to simplify robot programming for all sorts of people by offering an easy way to manipulate a robot of any size. The best part is that the runtime supports distributed processing and does not require any particular robotic OS, meaning that you can program robots running on different platforms, using different chip architectures. You can also manipulate complex robots, which sometimes have more than one processor type. Robotics Studio is made up of three main areas of software. They are as follows: l Runtime—This is the central core that allows you to run robots from toys to industrial size models. l Concurrency Library (CCR)—This simplifies managing concurrent processes, which is necessary because robots have several things going on at once. l Decentralized System Services (DSS)—This is a services-based architecture that lets you write and coordinate distributed applications. All these areas are used to build Web-based applications that are lightweight and flexible since they utilize Web services to distribute processing. The application itself resides on a Web server; the robot communicates with the application using a wireless or wired interface. Obviously, the wireless alternative is preferable because that allows the robot to move with the greatest amount of freedom. Programming robots involves the monitoring and manipulation of multiple processes (or services, as they are referred to in Robotics Studio) that often occur at the same time. For instance, a robot can be moving, (one process) and at the same time one of the robot's sensors can be collecting information about the environment. These two processes need to occur concurrently. The Robotics SDK utilizes the Concurrency Library (CCR)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 07/16/2008 for the course MIS 225 taught by Professor Byrtus during the Winter '08 term at Mercyhurst University.

Page1 / 4

RobotProgramming - An Introduction to Programming Robots...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online