Thursday, February 26, 2015
Open Robot Network
Open Robot Network (ORN) members are improving and expanding upon the protocols, languages, applications, and technologies of the SR4 that support robot-to-robot and robot-to-person communication over the Internet.

Sign-up now to become an active part of the ORN development community.

Java Plug-ins over the Web

Java Plug-ins and Wireless Internet Technology are the principal techniques on which the network is built. A Plug-in is a software module that runs on the robot and is linked, by the robot's operating system, into the SR4 Kernel of the robot. This connects the plug-in to all of the basic software and hardware functionality of the robot. A robot that requires a particular skill or knowledge capability, calls for (downloads) a Plug-in from the Open Robot Network's software repository that provides that particular skill and/or knowledge and incorporates it into its run-time execution.

Plug-ins that provide either skills or knowledge, or both, to robots can be written by anyone and made available to robots over the internet. The Open Robot Network is establishing robot configuration match-up procedures and utilities to aide in this process and will publish the procedures and a growing body of example Plug-in code over time, commencing in the spring of 2009.

The challenge in robotics is shifting from merely making robot devices that work, to equipping them (hardware and software) to perform meaningful work or tasks. The collaboration of individual developers (professionals and amateurs, engineers and students, programmers and enthusiasts) all over the world, and the real-time acquisition of skills by robots over the web are a key to that shift.

The Tipping Point

Robots that perform meaningful tasks must start with foundation equipment and skills; navigation, communications, manipulation, sensors (sonar, wheel encoders, shape and line vision, proximity, etc.). But once robots attain a critical mass of these foundation capabilities, a great many meaningful tasks begin to be possible.

What are the threshold capabilities for robots to perform meaningful tasks in the home or office? They must...

  • Have sufficient computer capability and battery power on board to be able to operate autonomously and continuously for several hours or more, without recharging.
  • Be of a size and dimension suitable to performing the intended tasks in our human-size world.
  • Be able to perform accurate and repeatable point to point navigation (robot navigating in a known [mapped] environment).
  • Be able to communicate seamlessly with user computers and the web.
  • Have at least one vision-assisted robot arm with sufficient degrees of freedom (joints), carry weight, reach, and a pressure-sensitive, dexterous manipulator.
...although, some tasks require fewer of these capabilities than others (see the following chart).

NoRobot TasksFull Computer & ElectronicsPoint to Point NavigationArm and Manipulator
1Smart-random vacuum cleaner---
2Pt. to pt. navigating vacuum cleanerXX-
3Roving speaker-phoneXX-
4Office delivery assistantXX-
5Water the floor plantsXXX
6Empty the dishwasherXXX
7Clean the toiletXXX
8Serve and replenish the party foodXXX
9Mop the kitchen floorXXX

No one individual or company, or group of individuals or companies, will ever have the time and resources to develop all the software required to support ever-evolving robot capabilities (applications) for all robots. Equipping and teaching robots becomes as distributed and pervasive and diverse and massive an undertaking as equipping and teaching ourselves is today, with two notable exceptions. (1) Virtually all of us can become teachers of robots, from our own skills and knowledge, and (2) When my robot learns or acquires a skill, it can then impart that skill to every other robot with the inherent capacity (and/or equipment/component configuration) for utilizing that skill --- instantly, over the web.

Examples of robot skills that might be provided in a Web Service include:

  • How to handle a cup
  • How to handle a glass
  • How to handle a plate
  • How to handle a soup bowl
  • How to handle a cereal bowl
  • How to handle a spoon
  • How to handle a fork
  • How to handle a knife
  • etc.
  • How to organize the unloading of a Kenmore model Sears # 16514 dishwasher
  • How to organize the unloading of a Westinghouse model ebuild Ref. No. GU1100XTLT dishwasher
  • How to handle small sized odd items (wine bottle plugs, turkey skewers, etc.) [or medium sized, or large sized]
  • How to decide when not to handle something and call for help

You will think of many others. Similar detailed Plug-ins will be required for all composite tasks that we will want our robots to undertake. But remember learn once, use everywhere.

Plug-ins that provide skills and knowledge to robots may eventually be provided for a fee (purchase or rental), especially for high-value, specialized software for business and industry robots. However, we believe that the majority of early Plug-ins for robots will be provided as open source (free) software.

Tools for Robots

Another area of activity and a unique opportunity that emerges as a part of collaborative efforts in developing home, office and industrial autonomous mobile robot applications, is the development of specialized tools for the robots to utilize in various tasks, such as:

  • Simple tools for opening specific types of dishwashers, that fit or work with the clamping handles on various dishwashers doors
  • A stacking rack or stand for the robot to use in emptying the dishwasher.
  • A special watering can for the Water the floor plant task (although many standard watering cans may well do)
  • Many others

Specialized tools will not always be necessary for robots to perform specific tasks, especially as the technology in manipulators for robots continues to evolve. But in these early days, if specialized tools will speed the process of developing and implementing meaningful and useful robot applications, then it makes good sense to consider them if and when appropriate.

So, what are you waiting for? Join the Open Robot Network (ORN) and let's get started.