A robot is a special system that takes input from sensor and produces output to actuator.
The control system with more inputs and more outputs is called MIMO (multiple input, multiple output) system.
The control system with one input and one output is called SISO (Single input single output) system.
The simple schema of a robot is the following:
in this schema:
r is the input
y is the output that comes to the actuator
c is the first block that you will make to automatize the system
P is the plant, the system that you cannot control
F is the second block useful to automatize the system.
For example for making the temperature of a home constant, there are the below actors:
- r is the desired temperature
- Y is the temperature after running the air conditioning system
- P is the house, it’s under observation and unmodifiable
- C and F are internal devices in the air conditioning system: C works with the error (desired temperature-current temperature), F works using the current temperature
The differences between the desired temperature of the system (r) and the temperature of your block (F) is called E (error) and goes into the block C that produces the input to the plant.
Block C and F are made of a mathematical model that is a complex function written by using Laplace transformation and this function should respect the following requirements:
- high disturbance rejection
- guaranteed performance
- unstable processes can be stabilized (to discover their stability you can use root locus, nyquist or bode diagrams)
- reduced sensitivity to parameter variations
- improved reference tracking performance
Transfer function allows to know how many components (for example transistors) are necessary for making a robot, how this components are interconnect one to each other.
In the most of the cases the control is the type of PID (proportional integral derive to the difference between input and output).
Another type of robot can make deductions by reasoning, this robot has a lot of information stored an a knowledge base (KB or ontology it is a xml file).
There are a lot of studies to make this robot and there are also a particular part of mathematics called logic that studies how to transform a normal problem in a subset of rules that the computer can process.
for example:
Knowledge base:
(a) the member of the population of Italy are intelligent
(b) the member of the population of Italy are men and woman who live in Italy
(c) Michele lives in Italy
(d) Michele is men
question:
is Michele intelligent?
response:
Michele through the rule d he is men and through the rule c he lives in Italy through the rule b Michele is member of population of Italy and through the a Michele is intelligent.
There are special languages like OWL (ontology web language) and special programming languages such as Prolog that does this reasoning. Apache Jena is the Java framework which works with the ontologies.
That’s used by the semantic web and by RDF (Resource Description Framework) which uses URIs to name the relationship between web objects (images, charts, maps and so on)
Another type of robot can understand from its experience and the environment, this is machine learning and there are three ways for making it
- supervised learning: teaching robot how to make a task using a couple input-output, this is on the basis of neural network, in this way it is possible to teach your camera to recognize the faces of the people: giving to the software many pictures (input) and a desired output (which of them are the faces) makes the software understanding the mathematic function to recognize the human faces.
- unsupervised learning: is made of many attempts to find hidden structure in unlabelled data. The method to discover this structure is for example clustering.
- reinforcement learning: it is inspired by behaviourist psychology have the objective to punish wrong behaviour and reward the right behaviour, it is made of gain function that it will increases if the choice allows the robot to approach the solution, decreases otherwise. This learning is on the basis of the game theory (min max algorithm)
The robot must take a decision according to many alternative, this decision is taken by the experience (machine learning), by logic or is stored statically in the electronic circuit by the transfer function.