502_61Robotics
502_61Robotics
Motivations
The important incentives for building robots are social, replacing humans in undesirable
or dangerous jobs, and economic, reducing the cost of manufacturing while improving
its quality.
The real world has the following qualities, that any robot design must take into account:
inaccessible -- sensors are imperfect, and can only perceive local stimuli
nondeterministic -- the robot can never be certain an action will work as
expected, since wheels slip, batteries run down, etc.
nonepisodic -- the effects of an action change over time, so robots should
handle sequential decision problems and learning
dynamic -- a robot has to know when to think and when to act right away
continuous -- states and actions are drawn from a continuum of physical
configurations and motions
In general, robots should have the following qualities:
high reliability -- if a robot fails, it should be able to recover or to call for help
high speed -- a robot should perform its functions as quickly as needed
programmability -- the robot should be flexible and easily adaptable to various
tasks
low cost
The ultimate goal is to build autonomous robots that accept commands telling
them what to do, without needing to specify exactly how.
Task Planning
By virtue of their versatility, robots can be difficult to program, especially for tasks
requiring complex motions involving sensory feedback. In order to simplify
programming, task-level languages exist that specify actions in terms of their effects on
objects.
Example: pin A programmer should be able to specify that the robot should put a pin in
a hole, without telling it what sequence of operators to use, or having to think about its
sensory or motor operators.
Task planning is divided into three phases: modeling, task specification, and
manipulator program synthesis.
There are three approaches to specifying the model state:
1. Using a CAD system to draw the positions of the objects in the desired
configuration.
2. Using the robot itself to specify its configurations and to locate the object
features.
3. Using symbolic spatial relationships between object features such as (face1
against face2). This is the most common method, but must be converted into
numerical form to be used.
One problem is that these configurations may over constrain the state. Symmetry is an
example; it does not matter what the orientation of a peg in a hole is. The final state
may also not completely specify the operation; for example, it may not say how hard to
tighten a bolt.
The three basic kinds of motions are free motion, guarded motion, and compliant
motion.
An important part of robot program synthesis should be the inclusion of sensor tests for
error detection.
Motion Planning
From the moment we wake up in the morning until our head hits the pillow at night, we
must plan our actions. Planning includes choosing the day's outfit based on the
weather forecast, figuring out what to eat for breakfast, deciding the best route to work
after listening to the traffic reports, and making a schedule of activities for the day. A
large problem in the development of autonomous robots is devising a way to give them
the capabilities to make their own plans in a variety of situations. Motion planning refers
to the computational process of moving from one place to another in the presence of
obstacles.
The degree of difficulty of motion planning in robots varies greatly depending on a
couple of factors: whether all information regarding the obstacles (i.e. sizes, locations,
motions, etc.) is known before the robot moves and whether these obstacles move
around or stay in place as the robot moves. The different possible scenarios are shown
in the following chart: