RETURN TO THE HOME PAGE
  The Latest in Hobby, Science and Consumer Robotics
RETURN TO THE HOME PAGE
HOME SUBSCRIBE RENEW GIVE A GIFT FREE TRIAL! BACK ISSUES CUSTOMER SERVICE PAY BILL

Current Issue  
Newsletter  
Forum  
Articles  

 

Search                           
 
 
CURRENT ISSUE
FREE e-NEWSLETTER
ROBOT FORUM
SAMPLE ARTICLES
PREVIOUS ISSUES
ADVERTISE WITH US
LINKS TO BOT SITES
WRITER GUIDELINES
ABOUT ROBOT MAGAZINE
ROBOT SCHEDULE
CONTACT ROBOT
MAPLEGATE MEDIA


CURRENT ISSUE

ZOOM ON COVER


------------------
------------------
Toy Robot
and
Remote Control Robots
Are Fun
Toys
For All Ages.


MAKE: I'm a Maker!



Technology Blog Top Sites


 Microsoft Technical Preview

Microsoft Enters Robotics—An Educator's Perspective



Dr. Kenneth Berry, Assistant Professor, California State University and founder of RoboEducators, www.roboeducators.org, is a leading advocate of robotics in education. Dr. Berry obtained an exclusive interview with Microsoft representatives at the RoboBusiness conference. We here offer his unique perspective on the significance of the robotics initiatives announced today by Microsoft.

--the editors

Microsoft has announced the release of the “Community Technical Preview” (CTP) for the Microsoft Robotics Studio at the RoboBusiness Conference in Pittsburgh, PA.

Robotics Studio is a development environment for distributed robotics applications. Sounds complicated; but to the contrary, it was developed to make robotics programming much easier.  It is touted as the robotics software for the masses.

Tandy Trower, General Manager in charge of robotics software development at Microsoft, says he wants the software to allow an average person to touch the power of the technology. Robotics Studio is easy to use and scaleable. It has what is referred to in the education community as a “low threshold and a high ceiling,” which means that a novice programmer can easily learn and apply the software to a robot. Yet, the software is powerful enough to accomplish very advanced and technical objectives that only the most seasoned programmer would need. This makes Robotics Studio ideal for learning robotics from a very early age and carrying that knowledge into graduate school. Robotics Studio is capable of programming LEGO MindStorms RCX and NXT robots, AND programming DARPA Grand Challenge robots.

Trower, feels that we are on the verge of the second coming of the PC. In his keynote address he said that this time the PC’s will stand up, move around, and take part in the environment with us.

In the 1970’s many different PC platforms existed and the operating systems and software were fragmented. The processors that control robots are currently in a similar state of disarray, and in need of a common software foundation to build upon. Microsoft Robotics Studio, developed by the largest software company in the world, is the answer to this perplexing issue.

And an elegant answer it is! Unlike PC’s that standardized on an operating system, robots need to work over many different chip architectures and operating systems. To create a common platform for all robots a new type of program was required, a “runtime.” Runtime is software that is self compiling; it does not require the operating system to run it. This allows the application to run across several different operating systems and chip architectures. Applications are built as groups of service modules. Each service module is an independent piece of software which makes the application robust. If a service is corrupted, it can be restarted without bringing down the whole program or computer. The services are also interactive. Using Robotics Studio, a programmer can access a service that is running on the robot to get the status of a sensor or motor and adjust the software on the fly by sending the new code over that same browser!

Microsoft Robotics Studio has three main components:

  1. A Runtime library for distributed processors.
  2. A simulation environment to test robotics programs.
  3. And a visual programming tool for programming.

Runtime Library

On larger robotics systems like the DARPA Grand Challenge robots, programming can be a headache. The purpose of Robotics Studio is to make programming complex robots possible for the masses.

Robots often have many distributed processors all attempting to talk with each other in parallel. For example, swarm robots all have small processors talking and coordinating with each other to perform a task. Even in simple applications like LEGO MindStorms Robots a computer processor sends commands to a smaller less capable processor onboard the robot. Not only are several processors involved in some complex robots but often the processors are of different types. Roboticists have to deal with these processor issues on a case-by-case basis.

Only well endowed institutions or powerful industry leaders with lots of resources and talent could code a complex robot like those that competed in the DARPA Grand Challenge or work on assembly lines like those from KUKA Robotics. These groups actually have created their own foundation programs to run across processors. But they are all different. Trower hopes that Robotics Studio will open up the market and provide the opportunity for many more companies and individuals to develop complex robots. Robotics Studio does the hard work of providing the foundation upon which any process can be programmed. Robotics Studio is platform independent and will provide a common development platform for many different robots and processors. It is also scaleable from the Parallax BoeBots to the Pioneer P3s.

Robotics Studio is based on a run-time library developed along the lines of the Microsoft .Net Common Language Runtime (CLR) that can run and compile on its own, independent of a robots’ operating system or processor. The run-time library takes care of many of the most complex programming tasks. For example, the distributed processing in robots can cause timing problems or “concurrency issues.” In a distributed system one processor often waits for another processor to send information to it. This waiting becomes a problem when more than one processor is waiting for information. If all the processors are waiting to get information a “deadlock” occurs and brings the robot to its knees (if it has knees). Writing code to prevent deadlocks and other common problems with multiple processors can be technically challenging and tedious. With the technical preview of Robotics Studio, Microsoft will provide a library of programs to tackle these common problems so that roboticists will not have to.

Simulation Environment

Robots are also dangerous, and expensive. The simulation environment has been created to address these issues. A quick glance at the FIRST Chief Delphi forum or the extensive safety rules of BattleBots IQ will be enough to convince anyone that programming a robot often has undesired consequences. They do exactly what we tell them to do instead of what they are supposed to do!  A bug in the programming may cause an arm to unexpectedly swing and punch a fellow team mate, or cause a robot to run backwards over the programmer instead of forward toward its goal.  Simulating the actions of the robot before the robot is actually let loose allows the programmer to avoid the pain and embarrassment of his/her mistakes. Furthermore, the simulation saves universities and companies the expense of providing students with $100,000 robots to program. An Ageia PhysX engine has been incorporated into the simulation to make all the motions and reactions of the robot true to life, almost as fun as a video game!

Visual Programming Environment

The visual programming environment will allow programmers to drag and drop activity blocks into a programming environment. Many common activity blocks will be represented by icons that will be able to be placed into the program in the sequence that they will be executed or as service modules. The software will then create the code to run the program. So instead of having to learn a number of different programming languages a programmer simply must learn the functions of a number of icons and be able to sequence them properly. Once the activity blocks are sequenced, the underlying code is created by Robotics Studio. This feature is not quite ready and will not be available today but should be available shortly.

Building Community

According to Trower, “This is not about Microsoft trying to control the world. This is about Microsoft providing a very simple foundation that allows the community to step forward and exchange information with itself. It will allow the community to evolve on a quicker pathway, on a natural pathway that it’s already on, and it will help accelerate that process. What this is all about is Microsoft being able to help the industry bootstrap itself, you know, ignite itself toward the expectations that everybody has.”

A major focus of the announcement today was the development of the design community for Robotics Studio. The CTP is free to the community to look at and evaluate. At http://msdn.microsoft.com/robotics you will find 15 tutorials for potential users to learn how to use the software. Blogs and other interactive tools are also available to engage others in the community and provide feedback to Microsoft to improve the product. In a nutshell, Microsoft has produced platforms for robotics development that could greatly advance robotics--I think this is likely a very important technological milestone.

--Ken Berry

Microsoft Robotics Studio Provides Common Ground for Robotics Innovation

Microsoft Robotics Studio Simulation—An Overview

dot_clear.gif - 43 Bytes
Site Guide
dot_clear.gif - 43 Bytes
Home | dot_clear.gif - 43 Bytes About Robot Magazine | Current Issue | Sample Articles | Forum | Advertising
Publication Schedule | Writers' Guidelines | contact Robot | Links to Other Robot Sites

Get Robot
dot_clear.gif - 43 Bytes
Subscribe | Give a Gift | Renew | Customer Service | Buy Back Issues | Pay Bill
dot_clear.gif - 43 Bytes
© 2009
Maplegate Media Group, 650 Danbury Road, Ridgefield, CT 06877
Tel: (203) 431-7787  |  Email: editor@botmag.com