31-10-2014, 03:26 PM
Artificial Intelligence – An Introduction to Robotics
1408096782-hardworkrobo.pdf (Size: 1.28 MB / Downloads: 23)
A brief History of Robots
Robotics are based on two enabling technologies: Telemanipulators and the ability of numerical control of
machines.
Telemanipulators are remotely controlled machines which usually consist of an arm and a gripper. The
movements of arm and gripper follow the instructions the human gives through his control device. First
telemanipulators have been used to deal with radio-active material.
Numeric control allows to control machines very precisely in relation to a given coordinate system. It
was first used in 1952 at the MIT and lead to the first programming language for machines (called APT:
Automatic Programmed Tools).
The combination of both of these techniques lead to the first programmable telemanipulator. The first
industrial robot using these principle was installed in 1961. These are the robots one knows from industrial
facilities like car construction plants.
The development of mobile robots was driven by the desire to automate transportation in production
processes and autonomous transport systems. The former lead to driver-less transport systems used on
factory floors to move objects to different points in the production process in the late seventies. New forms
of mobile robots have been constructed lately like insectoid robots with many legs modeled after examples
nature gave us or autonomous robots for underwater usage.
Since a few years wheel-driven robots are commercially marketed and used for services like "Get and
Bring" (for example in hospitals).
Humanoid robots are being developed since 1975 when Wabot-I was presented in Japan. The current
Wabot-III already has some minor cognitive capabilities. Another humanoid robot is "Cog", developed in
the MIT-AI-Lab since 1994. Honda’s humanoid robot became well known in the public when presented back in 1999. Although it is remote controlled by humans it can walk autonomously (on the floor and
stairs).
In science fiction robots are already human’s best friend but in reality we will only see robots for specific
jobs as universal programmable machine slave in the near future (which leads to interesting questions,
Multi-Object Localization – Mapping
Until now we only discussed the localization of a single object, but often one seeks to localize many objects.
The classical example of this problem is robotic mapping.
In the localization algorithms before we assumed that the robot knew the map of the environment a
priori. But what if it does not? Then it has to generate such a map itself. Humans have already proven their
mapping skills with maps of the whole planet. Now we will give a short introduction how robots can do
the same.
This problem is often referred to as simultaneous localization and mapping (SLAM). The robot does
not only construct a map, but it must do this without knowing where it is. A problem is that the robot may
not know in advance how large the map is going to be.
The most widely used method for the SLAM problem is EKF. It is usually combined with landmark
sensing models and requires that the landmarks are distinguishable. Think of a map where you have
several distinguishable landmarks of unknown location. The robot now starts to move and discovers more
and more landmarks. The uncertainty about the location of the landmarks and itself increases with time.
When the robot finds one landmark he already discovered earlier again the uncertainty of its position and
of all landmarks decreases.
Planning to Move
After landing safely on the surface of a new planet, our autonomous ScoutBot somehow decides, that it
should analyze a strange stone formation a couple hundred meters south. Wheels are set in motion and the
robot finally reaches the new location.
This is the most basic movement problem called point-to-point motion problem, which is to determine
the right motions to change the position of the robot or its effectors to a new configuration without collision
with known obstacles.
Furthermore it needs to take several examples from the stones. It uses a built-in drill to extract some
stone fragments. This is a more complicated problem called the compliant motion problem. It comprises
the motion of the robot while in contact with an obstacle.
Before an algorithm for one of the above problems can be developed, we need to find a representation
which enables us to properly describe our problems and find solutions for them. The intuitive attempt would be to describe each movable piece of a robot by its cartesian coordinates. This method is known as
workspace representation because the robot and its environment share the same coordinate system. The
problem with this representation is, that even in an obstacle free environment, a robot can never reach all
possible workspace coordinates because some parts are fixed to each other and cannot move independently
but have to obey certain linkage constraints. A solution to solve motion problems defined over workspace
coordinates would have to generate paths that take these constraints into account which is not easy, as the
state space is continuous and the constraints are nonlinear.
Another, more practical approach is called configuration space representation where the state of the
robot is represented by the configuration of its joints instead of cartesian coordinates.
The example robot has two joints. We can represent the state of the robot by just the two angles ϕ1 and
ϕ2. If there are no obstacles present, one could simply connect start and end configuration with a straight
line and let the robot rotate every joint to its new configuration with a constant speed. A configuration space
can always be decomposed into two parts. The free space which comprises all attainable configurations and
its complement called occupied space, which covers all configurations blocked by obstacles or restricted
joint capabilities. This leads to a problem of configuration spaces. As it is in general easy to convert
configuration space to workspace coordinates (which is called kinematics) the inverse operation (inverse
kinematics), to generate a configuration from working space coordinates, is a difficult task as for certain
configurations the solution is seldom unique therefore the practical approach is to generate a configuration
and apply it to the robot, to see if it is in free space.
Cell Decomposition
One approach towards planning a path in configuration space is to simply map the free space onto a discrete
raster which reduces the path planning problem within each of the cells to a trivial problem (move on a
straight line) as it is completely traversable. By this means, we end up with a discrete graph search problem,
which are relatively easy to solve.The simplest cell decomposition matches the free space onto a regularly
spaced grid but more complex methods are possible.
Cell decomposition has the advantage of an easy implementation, but also suffers some deficiencies:
• The amount of grid cells increases exponentially with the dimension of the configuration space.
• Polluted cells (cells which contain free and occupied space) are problematic. If included, they might
lead to solutions, which are in reality blocked, if omitted, some valid solutions would be missing
Potential Field Control
Potential fields, which we already used as an additional cost function in motion planning, can also be used
to directly generate robot motion. To do this, we need to define an attractive potential field, which pushes
the robot towards its destination, and another field, which pushes it away from obstacles. The goal becomes
the global minimum of the resulting potential, all other points have values based on their distance to the
target configuration and their proximity to obstacles. Potential fields can be efficiently calculated for any
configuration and scale very good with the dimensionality of the configuration space. Unfortunately the
path can eventually be trapped in a local minimum. Nevertheless this method is great for local robot control
but still requires global planning. Another point is, that it is a kinematic method and might fail if the robot
is moving quickly.
Reactive Control
In cases, where we cannot get accurate models of our environment or where noise and lack of computational
power might prevent application of the methods known so far another approach must be made. In some
cases a reflex agent (reactive control) is more appropriate. The controller bases his behavior not on a model
of the environment, but on immediate feedback (like short range proximity scanners or even reacting on
being stuck). This interplay of a (simple) controller and a (complex) environment is often referred to as
emergent behavior. As no model is perfect, this has to be seen in a wider sense. Other methods rely upon
training data, rather than a model of their environment.
Hard working Robots
Traditionally robots have been used to replace human workers in areas of difficult labor, which is structured
enough for automation, like assembly line work in the automobile industry (the classical example) or
harvesting machines in the agricultural sector. Some existing examples apart from the assembly robot are:
• Melon harvester robot
• Ore transport robot for mines
• A robot that removes paint from large ships
• A robot that generates high precision sewer maps
If employed in a suitable environment robots can work faster, cheaper and more precise than humans
Transporters
Although most autonomous transport robots still need environmental modifications to find their way they
are already widely in use. But building a robot which can navigate using natural landmarks is probably no
more science fiction. Examples of currently available transporters are:
• Container transporters used to load and unload cargo ships
• Medication and food transport systems in hospitals
• autonomous helicopters, to deliver goods to remote areas
Insensible Steel Giants
As robots can be easily shielded against hazardous environments and are somewhat replaceable, they are
used in dangerous, toxic or nuclear environments. Some places robots have helped cleaning up a mess:
• In Chernobyl robots have helped to clean up nuclear waste
• Robots have entered dangerous areas in the remains of the WTC
• Robots are used to clean ammunition and mines all around the world
For the same reasons robots are sent to Mars and into the depth of the oceans. They explore sunken
ships or walk the craters of active volcanoes.
Servants and Toys
Robots may not yet be a common sight in our world, but we already encounter them in many places. Many
modern toys like the Sony Aibo are conquering todays children’s life. Robots are developed that will help
older people to have a better and more secure life (ball-robot Rollo, see [9]). Nowadays, they start to come
to us as toys or household helpers. Their time has just begun.