Sunday, September 07, 2008
Robots talking to robots and people over the internet
The SR4 (Professional model and above) has the ability to communicate with other SR4 robots and with people over the internet via e-mail or via web browsers. E-mails written in XML can both be created and sent by the robot and be received and interpreted by the robot. The robot can diagnose its sensors and sub-systems and automatically send "trouble-reports" to whomever you designate. You can communicate into your robot from any web-browser anywhere. Your robot can provide real-time operating data about its activities to any web-browser anywhere. Many of these capabilities depend on you having a wireless access point on a PC or local area network, or even on just a DSL or cable broadband connection, within Wi-Fi range of the robot. On the other hand, two or more SR4 robots (Professional model and above), equipped as they are with Linksys wireless adaptors, can communicate directly and wirelessly with one another locally, without any additional equipment.

 

SRI Demonstrates Robot to Robot E-mail

Dalton, Massachusetts     June 12, 2003


It is quite possible that this past Tuesday marked the first time in history that a robot has exchanged e-mail over the internet with another robot.

In a demonstration of the SR4 Autonomous Mobile Robot manufactured by Smart Robots, Inc., a software engineer at the firm, Dennis Koch, while sitting with a wireless laptop in a restaurant in another part of building, sent an e-mail off to Smart4, the first of two wireless robots in the test, to ask for the temperature both at the office and at the home of the CEO of the firm, Joe Bosworth, who lives about a mile away. In moments, Smart4, the robot in the office, received the message, shot back a reply to Koch, with five rapid-fire readings of the robot’s temperature sensor, then sent a similar message to the second robot, named Watson for this event, after Thomas A. Watson, the assistant to Alexander Graham Bell who received Bell’s first successful experimental phone message in 1876. Watson, the second robot in this test and located at Bosworth’s home, received the message from Smart4, and responded by also sending a set of five consecutive temperature readings to Koch, still at the restaurant just a few moments more after having sent the initial message to Smart4.

People e-mailing robots. Robots e-mailing robots. Robots e-mailing people. Little may surprise us about what is possible over the Internet or the World Wide Web as it is otherwise known. The robots in this case case (models SR4-P and above) come standard with the ability to wirelessly hook into the Internet via standard wireless computer networks (WiFi) found in many homes and offices these days.

But are the parties in this test really talking to one another and understanding one another? Well, the answer is a qualified yes. Through the use of XML, or eXtensible Markup Language, people can speak to machines (robots in this case) by sending messages with code tags around the meaningful parts of the message --- for example <action> being a possible tag signifying that the following text is an action request of the recipient by the sender. In this case, the full line of text might be <action>temperature</action>, with a tag at both ends indicating the beginning and the end of the action request, and the action request text itself being the word "temperature".

The robot at the receiving end of this message has the ability to recognize code words (tags) and isolate the meat of the message, in this case, the text between the tags --- "temperature". The robot’s programming enables it to interpret this message (or other similar messages) into an appropriate action associated in the robot’s memory with that message. The robot acquires the temperature readings from its on-board temperature sensor, and quickly sends the temperature readings to an e-mail address received in the initial message, bracketed by e-mail address tags. [Note: The actual XML code used in Tuesday’s demonstration is somewhat different than this, but works in quite the same way.]

The first robot in this example, also then shoots off a message requesting the temperature from the second robot, which happens to be sitting a mile away from the office in this case, but, in fact, could be half-way around the world. The second robot receives and interprets the message and then takes and returns its own temperature readings to Dennis Koch.

The actual XML code used in Tuesday’s demonstration is...

<srml>
 <email to="dennis@smartrobots.com " subject="Smart4: Temperature at SRI’s offices">
  <loop count="5">
   <text value="The temperature at SRI’s offices is " />
   <temp />
   <br />
  </loop>
 </email>

 <email to="Watson@project413.net" subject="Temperature">
  <code>
   <srml>
    <email to="dennis@smartrobots.com" subject="Watson: Temperature at Joe’s house">
     <loop count="5">
      <text value="The temperature at Joe’s house is " />
      <temp />
      <br />
     </loop>
    </email>
   </srml>
  </code>
 </email>
</srml>
The first section of the code is an instruction to the Smart4 robot to record the temperature in an e-mail and send it to Dennis. The second section is an instruction to the Smart4 robot to send the contents between <email> and </email> to the Watson robot. That content instructs the Watson robot to record the temperature from its sensor in an e-mail and send it to Dennis, completing the three-way circuit of e-mails.

According to Joe Bosworth, "the matter of the ‘qualified yes’ in an earlier response to the question of the robot’s understanding, is merely to underscore that it will be quite a while, if it is to happen at all, before a machine can be said to ‘understand’ in a conscious sense what is going on around it. But smarter and smarter machines should eventually be able to respond to many events and circumstances with appropriate responses that make them seem intelligent, if not understanding as well."

Today, the SR4 robot that Smart Robots, Inc. introduced earlier this spring, is targeted for students, engineers, hobbyists and educators, to provide an educational and experimental platform for learning and applying Linux, Java, XML, Web Services, Wireless Ethernet Networking and other information technology skills that are in demand in the computer field today. Younger students in elementary grades can practice their language and math skills by "teaching" the robot these same skills. Others will find the robot useful in learning about electronics, robotics and sensor technology.

"And all of this while having some fun with a new technology", says Bosworth.


For more information, see Send a Robot an E-mail.

Note: The Java CVM for the SR4 Robot is supplied by Apogee Software, Inc. The XML parser used by the SR4 Robot is open source software available from Kxml.org. The SR4 operates on GNU Linux Kernel version 2.4.19 distributed by Technical Solutions Inc..