Microsoft

Skilligent TrainerRobot Central had the opportunity to speak with CTO Sergey Popov of Skilligent about their robot learning technology. We were intrigued with the prospect of a robot that could be taught skills and behaviors without any conventional programming. I’ve asserted that Human Robot Interaction is about to reach a tipping point that will make personal and service robots available to the masses and the technology Skilligent has developed is yet another validation of that assertion.

“We believe that trainable robots utilizing Skilligent will be much more flexible than today’s robots which are either remotely controlled or pre-programmed to perform a few functions,” Popov said. “You could train a robot to do simple palletizing in your garden to assembling furniture in a workshop.”

This range is enabled by the fact that it does not require a specific control system, calling language, and or hardware platform to operate.

Although Skilligent does not yet officially support Microsoft Robotics Studio (“MSRS”), they provide a C# version of their library which is easily consumable by MSRS. Additionally, Skilligent has a professional services group that will work with its customers to enable its technology with MSRS if necessary.

The software does have some explicit dependencies, however. “Our technology requires methods of observing the world and getting positive and negative feedback by the trainer–just as a human would.” As such, a camera is required to observe the world. The only actuators required are those required to perform the desired behavior. If you wanted to teach a robot to open a door it would need a gripper, for example.

In a sequence of three videos created by Skilligent, a robot is taught a basic set of behaviors. In all videos the trainer gains the robot’s attention by shaking an object in front of it. The robot will instinctively follow it until the trainer shifts attention to another object. In video #1, the trainer leads the robot to object #1, a random poster. He repeats this exercise in video #2. In video #3, the robot performs the trained behavior. To the untrained eye, this is a simple matter of record and playback. Upon closer scrutiny, however, we observe that the robot knows when to perform the task and has stored a symbolic representation of the target objects in its database which it can recall later. Had the target objects been moved or rearranged, the robot would have still performed the desired behavior.

Besides task-level behaviors, Skilligent can be trained to execute low-level control policies called “skills.” Task-level behaviors combine low-level skills in a hierarchical structure.

The software provides a skills database abstraction that can be shared with other robots running the software. Furthermore, skills can be used as building blocks to create more complex behaviors. For example, you could teach a robot to fill a watering can with water as the “Fill Watering Can” skill. You could later teach a robot to water the plants which can utilize the “Fill Watering Can” skill.

This opens a new and unknown space. Will the human trainers want to share their robot’s library of behaviors with other trainers? If so, then we’ll have the same problem of requiring homogeneity in actuators, sensors, and mobility in order that the behaviors could be performed consistently across robots. It may be so cheap, easy, and fun to train robots, however, that this space won’t have the same limitations that control systems do.

Skilligent may be on the verge of inventing the killer application for robotics.

Additional links:

In a move consistent with the coalescing of robotics market players, Braintech has released a version of its vision software VOLTS-IQ ™ SDK that is designed to work with Microsoft Robotics Studio.

According to their site,

Braintech specializes in the expert design and integration of artificial intelligence for Vision Guided Robotic (VGR) software and solutions. [Their] applications are used for manufacturing and Internet based support and include quality inspection, process control and complex assembly.

That may be true, but this move to support Microsoft Robotics Studio portends the moving into the service and personal robotics space. Babak Habibi, Braintech’s CTO, states: “We are passionate about our approach to robot vision that is centered on providing actionable information to robots. This contrasts with traditional vision libraries, which provide numerous low level functions but burden the developer with the task of figuring out how to link and configure these functions to produce usable vision information such as an object’s type or position. With the VOLTS-IQ SDK, robotic developers can focus on the evolution of a product or project as opposed to getting bogged down in the details of which edge detection method or image filter to use”. (AMEN BROTHER!)

Vi_Tracker Sequence

I viewed a demonstration of the Vi_Tracker software and studied the API. This software is fantastically easy to use. VOLTS-IQ’s compatibility with Microsoft Robotics Studio will open up some interesting doors to the next generation of application developers.

The demonstration video shows a user circumscribing a target object in the video stream and Vi_Tracker instantly following and tracking it. The software does a really good job of keeping up even with partial occlusion. It also maintains the orientation of the target object.

My personal experience with a more arcane method of training vision software affords me the appreciation for VOLTS-IQ’s on-the-fly train-and-track algorithm. Usually, there is a bit of training time that can be expected–sometimes the training takes days and many samples of the object. In this case Vi_Tracker did it instantly.

Now if we could only get Erector (Meccano) to create an API to Spykee! An “open” Spykee with a Microsoft Robotics Studio / Braintech / Skilligent combination would provide for an incredibly robust and inexpensive platform on a standard PC!

This is some cool software I can’t wait to play with.


Other Photos:

Vi_ObjectDetector Vi_Tracker

 

Press Release:

Several days ago we learned that Microsoft is creating a technical alliance with Japan robot player Tmsuk (pronounced “tim suck”) to establish a standard robotics platform. It represents the first time a strategic relationship has been established between a major software platform maker and a robot manufacturer. At stake is the effort to bring robots into the mainstream and fulfill Bill Gates’s vision of a A Robot in Every Home.

It’s easy to map parallels between the evolution of the personal computer and the progress of robotics. In their early days, both were used mostly to impress friends with the engineering prowess required to make the machines do cool tricks. When Apple introduced its version of the personal computer it was a spreadsheet application that caused the explosion of mass adoption by consumers. That big bang has yet to occur in robotics primarily due to the lack of standard platform for application developers. The guys who designed the first spreadsheet application didn’t know squat about building computers. The robotics industry must reach the same panacea where robotics application developers don’t have to know squat about robots in order to build a killer app.

It isn’t for lack of trying, though. Several platforms have been made available over the last decade but none thus far has been established as the standard platform for robotics. On the contrary, the continued addition of a new robotics platforms has further compounded the problem.

  • 1996 Webots is developed by Microcomputing and Interface Lab to be spun out as Cyberbotics in 1998.
  • 2001 Version 1.0 of Player, Stage, and Player Tools is introduced.
  • 2002 Sony introduces its OPEN-R architecture with the popularity of the now-defunct Aibo robot dog.
  • 2002 Evolution Robotics is founded and later introduces its platform and now flagship product, ERSP.
  • 2002 The first version of OROCOS is released.
  • 2005 MIT introduces YARP [pdf] (“Yet Another Robot Platform”) which encapsulates OROCOS.
  • 2005 (?) OpenJAUS made available. Touts self as “Military-Ready.”
  • 2006 Gostai is spun out of Ensta’s Cognitive Robotics Lab in Paris. They introduce Universal Real-time Behavior Interface, or URBI, which started development as early as 2004.
  • 2006 iRobot makes AWARE 2.0 available to 3rd party developers.
  • 2006 Microsoft releases Microsoft Robotics Studio.
  • 2007 Skilligent goes GA with its module. Note: Skilligent says they’re an add-on and not a platform. According to their webiste, “Skilligent! is a software component that can be integrated with various robotic platforms.
  • 2007 CLARAty “reusable robot software” is made available by NASA.

What makes Microsoft Robotics Studio stand out of this crowd is the platform abstraction experience the company has with its operating system and, most importantly, Microsoft’s desire to evangelize the technology and establish a standard in the industry.

Now that Microsoft has this opportunity with Tmsuk, it must be successful. This initiative has white-hot spotlight of attention on it. Tmsuk is a member of the Japan Robot Association which is comprised of 48 members with household names such as Fuji, Mitsubishi, and Yamaha. Success with Tmsuk surely will follow by a push to spread into peer companies within the association which it will need to do in order to gain critical mass.

By American standards, Tmsuk is a relatively small company. As of March of this year, Tmsuk had a little over 1045 million yen (~$9M) in capital with around 30 employees. It’s unclear to me how they make their money. They have some humanoid robots designed as receptionists and most recently have introduced robots that look like the exoskeleton Sigourney Weaver wore in Alien. The latter represents a more practical and likely marketable technology that the company says it’s having trouble selling. Still, the company obviously has staying power. It’s been around since 2000 and is showing no signs of slowing down.

So, what now?

Either Evolution Robots and iRobot drop their own software and adopt Microsoft’s platform (good luck with that) or the Japanese robots whose brand names are already familiar to us will be tomorrow’s application base for the next generation of American software developer. The Japanese listened to Deming because they got his message. They became masters of efficiency and quality in the automotive industry. Tmsuk’s willingness to drop it’s proprietary software from its robots and invest in Microsoft is a modern-day sign that they get the value of having a homogeneous platform. It’s possible that Tmsuk will become the Toyota of robotics and Microsoft will sell tons and tons of robotic platforms.

References: