370 likes | 527 Views
Sept 11, 2008. University of Windsor School of Computer Science 60-572 Topics in Artificial Intelligence Fall 2008. The Robotics Primer What is robot?. What is a Robot? Various definitions exist
E N D
Sept 11, 2008 University of Windsor School of Computer Science60-572 Topics in Artificial Intelligence Fall 2008
The Robotics Primer What is robot? • What is a Robot? • Various definitions exist • A robot is an autonomous system which exists in the physical world, can sense its environment, and can act on it to achieve some goals. School of Computer Science, University of Windsor
A robot is an autonomous system……… Autonomous vs. teleoperated A robot is an autonomous system which exists in the physical world…. The Robotics Primer What is robot? School of Computer Science, University of Windsor 3
A robot is an autonomous system which exists in the physical world, can sense its environment…. sensors The Robotics Primer What is robot? School of Computer Science, University of Windsor 4
A robot is an autonomous system which exists in the physical world, can sense its environment, and can act on it… The Robotics Primer What is robot? School of Computer Science, University of Windsor 5
A robot is an autonomous system which exists in the physical world, can sense its environment, and can act on it to achieve some goals. Roboticsis the study of robots, which means it is the study of their autonomous and purposeful sensing and acting in the physical world. The Robotics Primer What is robot? School of Computer Science, University of Windsor 6
A robot is an autonomous system which exists in the physical world, can sense its environment, and can act on it to achieve some goals. Any hints? The Robotics Primer What is in a Robot? School of Computer Science, University of Windsor 7
physical body sensors effectors and actuators controller(s) The Robotics Primer What is in a Robot? School of Computer Science, University of Windsor 8
Sensors For sensing and perception Concept of state A description of itself at any point in time Observable, partially observable, and hidden state Discrete/continuous state External Refers to the state of the world as the robot can perceive it internal state Refers to the state of the robot as the robot can perceive it The Robotics Primer What is in a Robot? School of Computer Science, University of Windsor 9
Actions Effectors enables a robot to take actions. Effectors use underlying mechanism such as motors , which are called actuators. They are used for: Locomotion (mobile robotics) Manipulation (manipulator robotics) The Robotics Primer What is in a Robot? School of Computer Science, University of Windsor 10
Controller(s) For autonomy Autonomy is the ability to make one’s own decisions and act on them The role of brain/nerve system The Robotics Primer What is in a Robot? School of Computer Science, University of Windsor 11
Controller – brain of robot Control theory was one of the founding areas of robotics Feedback control The Robotics Primer Controllers School of Computer Science, University of Windsor 12
Feedback control is a means of getting a system (a robot) to achieve and maintain a desired state, usually called the set point, by continuously compare its current state with its desired state. Thermostat, e.g. The Robotics Primer Controllers School of Computer Science, University of Windsor 13
The desired state (goal state) is where the system wants to be. (once reached, it is done) Achievement goals (focused in AI) (requires ongoing active work) Maintenance goals (focused in control theory) The Robotics Primer Controllers School of Computer Science, University of Windsor 14
The difference between the current and desired states of system is called the error. A goal of any control system is to minimize that error. Feedback control explicitly computes and tells the system the error in order to help it reach the goal. The Robotics Primer Controllers School of Computer Science, University of Windsor 15
An Example How would you write a controller for a wall-following robot using feedback control? The goal state? The error? The sensor? The Robotics Primer Controllers School of Computer Science, University of Windsor 16
Assume we use a sensor such that it provides the information to compute distance-to-wall The goal is to keep distance-to-wall at a particular value or a range The Robotics Primer Controllers School of Computer Science, University of Windsor 17
Pseudo-code If distance-to-wall is in the right range, Then keep going If distance-to-wall is larger than desired, Then turn towards the wall Else turn away from the wall The Robotics Primer Controllers School of Computer Science, University of Windsor 18
What will be the behavior of the robot? oscillation Any parameter(s) to tune? The Robotics Primer Controllers School of Computer Science, University of Windsor 19
Pseudo-code (improved, but not too much) If distance-to-wall is exactly as desired, Then keep going If distance-to-wall is larger than desired, Then turn by 45 degrees towards the wall Else turn by 45 degrees away from the wall The Robotics Primer Controllers School of Computer Science, University of Windsor 20
In general, the behavior of any simple feedback system oscillates around the desired state. How can we decrease this oscillation? Compute the error often Adjust turning angle Etc All measures are robot specific. The Robotics Primer Controllers School of Computer Science, University of Windsor 21
Feedback control , good for making a single behaviour, such as wall-following. Not too much thinking involved, ie. Not too much intelligence. Most robots are doing more than just follow a wall, from simple survival to complex task achievement. The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 22
Having to do multiple things at once deciding what to do at any point in time is not simple. Therefore, putting together controllers that will get the robot to produce the desired overall behaviour is not simple. And this is what robot control is really about. The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 23
Jut putting rules or programs together does not result in well-behaved robots. To find a good way to control a give robot for a given task, we need to know some guiding principles of robot control and the fundamentally different ways in which robots can be programmed. (the architecture) The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 24
A robot control architecture provides guiding principles and constraints for organizing a robot’s control system. It seems you do not need know anything about control architecture to get a robot to do something, so why bother? The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 25
In order for a complex robot to do something useful and robust in a complicated environment, knowing about control architecture is necessary and important. Robot control, hardware or software, or both? It all depends. The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 26
The more complex the controller is, the more likely it is to be implemented in software. There is no one single best programming language for programming robot control software. No matter what language, what matters is the control architecture used to implement the controller. And the architectures are: The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 27
Deliberative control Reactive control Hybrid control Behaviour-based control We will touch on each of them briefly shortly. But first, some comments: The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 28
In most cases, it is impossible to tell, just by observing a robot’s behavior, what control architecture it is using. Control architectures differ fundamentally in the ways they treat the following important issues: The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 29
Time: how fast do things happen? Do all components of the controller run at the same speed? Modularity: what are the components of the control system? What can talk to what? Representation: What does the robot know and keep in its brain? The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 30
Time: usually called time-scale, refers to how quickly the robot has to respond to the environment compared with how quickly it can sense and think. This is a key aspect of control and therefore a major influence on the choice of what architecture should be used. The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 31
Deliberative control, looks into future, it works on long time-scale. Reactive control, responds immediately to the environment, so it works on a short time-scale. Hybrid control, is somewhere in between. Behavior-based control, works to bring the time-scale together. The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 32
Modularity refers to the way the control system (the robot’s program) is broken into pieces or components, called modules, and how these modules interact with each other to produce the robot’s overall behavior. In deliberative control, it consists of multiple modules (sensing, planning, and acting), and the modules do their work in sequence, with the output of one providing the input for the next. The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 33
In reactive control, things happens at the same time, not one at a time. Multiple modules are all active in parallel and can send messages to each other in various ways. In hybrid control, there are three main modules to the system. They work in parallel, but also talk to each other The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 34
In behavior-based control, there are usually more then three main modules that also work in parallel and talk to each other, but in a different way than in hybrid system. You can see: how many modules there are, what is in each modules, whether the modules work sequentially or in parallel, and which modules can talk to which others are distinguishing features of control architecture. The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 35
Representation is the form in which information is stored or encoded in the robot. What is represented and how it is represented has a major impact on robot control. (What is in your brain influences what you can do.) The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 36
Representation of the world around the robot is called a world model. Representation can take a great variety of forms and can be used in a great variety of ways by a robot. A robot can represent information about itself, other robots, objects, people, the environment, tasks, and actions. Representation requires constructing and updating, which have computational and memory costs for the robot. Different architectures treat representation very differently, from not having any at all, to having centralized world models, to have distinguished once. The Robotics Primer Controller Architecture School of Computer Science, University of Windsor 37