News Column

Patent Issued for Shared Robot Knowledge Base for Use with Cloud Computing System

February 13, 2014



By a News Reporter-Staff News Editor at Computer Weekly News -- From Alexandria, Virginia, VerticalNews journalists report that a patent by the inventors Hickman, Ryan (Mountain View, CA); Kuffner, Jr., James J. (Mountain View, CA); Bruce, James R. (Sunnyvale, CA); Gharpure, Chaitanya (Sunnyvale, CA); Kohler, Damon (Munich, DE); Poursohi, Arshan (Berkeley, CA); Francis, Jr., Anthony G. (San Jose, CA); Lewis, Thor (San Francisco, CA), filed on May 4, 2012, was published online on January 28, 2014.

The patent's assignee for patent number 8639644 is Google Inc. (Mountain View, CA).

News editors obtained the following quote from the background information supplied by the inventors: "Cloud computing refers to the provision of computational resources via a computer network. In a traditional model of computing, both data and software are fully contained on a user's computer. In a cloud computing arrangement, however, the user's computer may contain relatively little software or data (perhaps just a minimal operating system and web browser, for example), and may serve as a display terminal for processes occurring on a network of computers. One common shorthand term used to describe a cloud computing system or service (or even an aggregation of cloud services) is 'the cloud.'

"Cloud computing is sometimes referred to as 'client-server computing.' However, there are distinctions between cloud computing and general client-server computing. For example, client-server computing may include a distributed application structure that partitions tasks or workloads between providers of a resource or service (e.g., servers), and service requesters (e.g., clients). Client-server computing generally involves a one-to-one relationship between the server and the client, whereas cloud computing includes generic services that can be accessed by generic clients such that a one-to-one relationship or connection may not be required. Thus, cloud computing generally includes client-server computing along with additional services and functionality.

"In many situations, cloud computing may free users from certain hardware and software installation and maintenance tasks through the use of simplified hardware on the user's computer. Also, because the user's computer can access a vast network of computing resources (e.g., processors, disk drives, etc.), the user is not limited just to the computing and storage power of his or her local computer. Additionally, the sharing of computing resources across many users may reduce computing costs to individuals. For example, multiple computers connected to the cloud may be able to share the same pool of computing power, applications, and files. Users can store and access personal files such as music, pictures, videos, and bookmarks or play games or use productivity applications on a remote server rather than physically carrying around a storage medium, such as a DVD or thumb drive.

"In one example, a user may open a web browser and connect to a host of web servers that run user interface software configured to collect commands from the user and interpret the commands into commands on the servers. The servers may handle the computing, and can either store or retrieve information from database servers or file servers and display an updated page to the user. Through 'cloud computing,' data across multiple servers can be synchronized around the world allowing for collaborative work on one file or project, from multiple users around the world, for example."

As a supplement to the background information on this patent, VerticalNews correspondents also obtained the inventors' summary information for this patent: "The present application discloses various embodiments of a shared robot knowledge base for use with a cloud computing system and methods for using shared robot knowledge bases with a cloud computing system.

"Any of the methods described herein may be implemented in the form of instructions stored on a non-transitory, computer readable media. When executed by a computing device, the instructions may cause the computing device to perform functions of the disclosed method. Further examples may also include articles of manufacture including tangible computer-readable media that have computer-readable instructions encoded thereon, and the instructions may comprise instructions to perform functions of the methods described herein.

"The computer readable media may include non-transitory computer readable media, such as computer-readable media that stores data for short periods of time like register memory, processor cache, and Random Access Memory (RAM). The computer readable media may also include non-transitory media, such as secondary or persistent long term storage, like read only memory (ROM), optical or magnetic disks, or compact-disc read only memory (CD-ROM), for example. The computer readable media may also be any other volatile or non-volatile storage system. In some embodiments, the computer readable media may be considered a computer readable storage media, for example, or a tangible storage media.

"In addition, some aspects of the disclosed methods may be performed by circuitry configured to perform logical functions in any of the processes or methods described herein. In still further examples, many types of devices may be used or configured to perform logical functions in any of the processes or methods described herein. In yet further examples, many types of devices (and/or components or sub-components of the devices) may be used or configured as means for performing functions of any of the methods described herein (or any portions of the methods described herein).

"In some embodiments of the disclosed systems and methods, a cloud computing system may receive a query from a robot. The query may include identification information associated with a particular object. The identification information associated with the object may be any of (i) a name of the object in a sound clip or text excerpt, (ii) image data associated with the object, e.g., a digital image, video clip, point cloud, etc., (iii) information read from a tag or beacon associated with the object, e.g., an RFID tag, an RF or optical beacon, etc., (iv) information read from a bar code or similar code on the surface of the object, e.g., a QR code, a bar code, etc., and/or (v) text or product logos on the surface of the object. The query from the robot may include other identification information associated with the object as well.

"After receiving the identification information from the robot, the cloud computing system may in turn use the identification information to query a shared robot knowledge base to determine the identity of the object. The shared robot knowledge base contains data related to an expansive inventory of objects, robot tasks, maps, robot applications, etc. In some embodiments, the shared robot knowledge base includes data about a vast number of various objects that robots may encounter and/or interact with in their everyday environments. The shared robot knowledge base may also include robot instructions for interacting with the objects. For example, the shared robot knowledge base may have data related to various types of furniture, appliances, household objects, utensils, tools, electronic devices, food, supplies, etc. Data about any object that that a robot might encounter or interact with may be included in the shared robot knowledge base.

"The data associated with a particular object may vary from object to object. For example, most objects in the shared robot knowledge base have at least a baseline set of data that may include one or more of the object's (i) physical dimensions, weight, material composition, (ii) manufacturer (and possibly model number), (iii) ordering information (if the object is consumable), (iv) relevant tasks that a robot may perform with the object, (v) location of the object, etc. However, the shared object knowledge base may have additional types of data about the objects as well.

"Data about objects, robot tasks, maps, and robot applications may be entered and/or updated in the shared robot knowledge base by human operators, computing systems, and/or robots. For example, human operators may enter data into the shared robot knowledge base, e.g., data about objects, robot tasks, maps, and robot applications. Similarly, manufacturers of objects may provide data to the robot knowledge base, e.g., data about objects they manufacture, data about robot equipment they manufacture, etc. One important aspect of the shared robot knowledge base is that robots may also enter data into the shared robot knowledge base, e.g., data about objects they encounter, data about tasks they perform, data for maps associated with their environments, and data about robot applications. For example, when a robot encounters an object that cannot be found in the shared robot knowledge base, then the robot may collect information about the object and send the collected data to the shared robot knowledge base for storage and future retrieval by any other robot authorized to access the uploaded information. In some embodiments, to collect information about the unidentified object may, the robot may ask a human one or more questions about the object. In this manner, information about an object that one robot learns from a human can be shared with other robots authorized to access information about that object. Robots may interact with humans to learn information about maps, robot tasks, and applications in a similar fashion.

"In operation, the cloud computing system may be configured to query the shared robot knowledge base to both (i) identify the object corresponding to the identification information received from the robot and (ii) retrieve at least some of the data associated with the identified object. The cloud computing system may send the identity of the object and at least some of the data associated with the identified object to the robot that sent the query.

"After receiving the identity of the object and data associated with the object, the robot may use the data associated with the object to interact with the object, e.g., pick up the object, move the object, power on/off the object, open/close doors, drawers, and/or compartments of the object, etc. If, while interacting with the object, the robot determines that some aspect of the received data associated with the object is inaccurate (e.g., the object weighs more or less than indicated, the force required to open/close a door is greater or less than indicated, etc.), then the robot may send feedback to the cloud computing system. In response, the cloud computing system may analyze the feedback, and in some instances, update the data associated with the object in the shared robot knowledge base.

"The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the figures and the following detailed description."

For additional information on this patent, see: Hickman, Ryan; Kuffner, Jr., James J.; Bruce, James R.; Gharpure, Chaitanya; Kohler, Damon; Poursohi, Arshan; Francis, Jr., Anthony G.; Lewis, Thor. Shared Robot Knowledge Base for Use with Cloud Computing System. U.S. Patent Number 8639644, filed May 4, 2012, and published online on January 28, 2014. Patent URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=21&u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&r=1039&f=G&l=50&co1=AND&d=PTXT&s1=20140128.PD.&OS=ISD/20140128&RS=ISD/20140128

Keywords for this news article include: Software, Google Inc..

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering the world of technology, please see HispanicBusiness' Tech Channel



Source: Computer Weekly News


Story Tools