Method and system for robot understanding, knowledge, conversation, volition, planning, and actuation
First Claim
Patent Images
1. A method operational in a processing device, comprising:
- inputting data into a physical user interface in a language having a defined set of nonambiguous grammar rules, wherein the language includes at least one of;
an artificial language or a subset of a natural language and wherein the input data is input from one or more of;
a plurality of users or a plurality of sensors;
comparing by a processing device the input data with previously stored data in a data/knowledge/plan base according to logic operations to determine the input data is an imperative, wherein the data/knowledge/plan base stores knowledge and instructions for the plurality of users or for a plurality of actuators;
maintaining and storing by the processing device a plurality of distinct logical units for different ones of the plurality of users or for different ones of the plurality of actuators; and
determining by the processing device to execute the imperative based on at least one of the plurality of distinct logical units;
storing the imperative in an execution queue;
executing the imperative; and
reporting logic of the at least one of the plurality of distinct logical units to the user interface.
0 Assignments
0 Petitions
Accused Products
Abstract
A system for understanding and storing knowledge and plans in a speakable, formal class of languages, allowing querying and retrieving of that knowledge and plan (conversation), and of deciding and acting (volition) upon such plans is provided. The system further allows the users to input data, instructions, questions, queries, imperatives, and plans without structure or rules over and above the actual grammar of the class of languages. The system responds in words, phrases, complete sentences, or actions, as applicable, and its output is bound by the rules of logic, rather than correlation or likely meaning.
-
Citations
39 Claims
-
1. A method operational in a processing device, comprising:
-
inputting data into a physical user interface in a language having a defined set of nonambiguous grammar rules, wherein the language includes at least one of;
an artificial language or a subset of a natural language and wherein the input data is input from one or more of;
a plurality of users or a plurality of sensors;comparing by a processing device the input data with previously stored data in a data/knowledge/plan base according to logic operations to determine the input data is an imperative, wherein the data/knowledge/plan base stores knowledge and instructions for the plurality of users or for a plurality of actuators; maintaining and storing by the processing device a plurality of distinct logical units for different ones of the plurality of users or for different ones of the plurality of actuators; and determining by the processing device to execute the imperative based on at least one of the plurality of distinct logical units; storing the imperative in an execution queue; executing the imperative; and reporting logic of the at least one of the plurality of distinct logical units to the user interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A device for controlling actuators, comprising:
-
an input interface configured to receive input data in a language characterized by having a defined set of unambiguous grammar rules; a processing circuit adapted to implement a parsing module adapted to parse the input data from the input module into an internal format; a prover module adapted to receive the parsed input data from the parse module and compare the parsed input data with stored data and/or plans in a data/knowledge/ plan base to determine if the parsed input data is an imperative; and a memory device configured to store results of the prover module in the data/knowledge/plan base, wherein the input data is obtained from a plurality of different users and/or sensors and the data/knowledge/plan base stores plans; and wherein the processing circuit is configured in execution of an instruction and/or plan, to actuate one or more robotic body components or actuators. - View Dependent Claims (17, 18)
-
-
19. A method for controlling one or more actuators by a processing device, comprising:
-
inputting data into the processing device in a language having a defined set of nonambiguous grammar rules, wherein the language includes at least one of;
an artificial language or a subset of a natural language;comparing by the processing device the input data with previously stored data in a data/knowledge/plan database in a memory device; determining by the processing device that the input data is an imperative and determining whether the imperative includes at least one of;
a simple imperative, a negative imperative or a conditional imperative;when a simple imperative is determined, storing the simple imperative in an execution queue in the memory device for execution by one or more of a plurality of actuators; when a negative imperative is determined, storing the negative imperative in the data/knowledge/plan database in the memory; and when a conditional imperative is determined, storing the conditional imperative in the data/knowledge/plan database in the memory to determine whether to execute the conditional imperative, wherein the conditional imperative includes a command and a precondition. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A device for controlling one or more actuators, comprising:
-
at least one physical interface configured to receive input data in a language having a defined set of nonambiguous grammar rules, wherein the language includes at least one of;
an artificial language or a subset of a natural language;at least one memory device that stores a data/knowledge/plan database and an execution queue; at least one processing device operably coupled to the at least one physical interface and the at least one memory device, wherein the processing device is configured to; compare the input data with previously stored data in the data/knowledge/plan database stored in the memory device; determine that the input data is an imperative and determine whether the imperative includes at least one of;
a simple imperative, a negative imperative or a conditional imperative;when a simple imperative is determined, store the simple imperative in the execution queue in the memory device; when a negative imperative is determined, store the negative imperative in the data/knowledge/plan database in the memory; and when a conditional imperative is determined, store the conditional imperative in the data/knowledge/plan database in the memory to determine whether to execute the conditional imperative, wherein the conditional imperative includes a command and a precondition; and at least one of a plurality of actuators configured to execute the simple imperative stored in the execution queue in the memory device. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification