comp150 behavior-based roboticsthe best option!) or the teaching assistant ([email protected]),...

28
http://www.cs.tufts.edu/comp/150BBR/timetable.html http://www.cs.tufts.edu/comp/150BBR/timetable.html http://www.cs.tufts.edu/comp/150BBR/syllabus.html http://www.cs.tufts.edu/comp/150BBR/syllabus.html COMP150 COMP150 Behavior-Based Robotics Behavior-Based Robotics For class use only, do not distribute For class use only, do not distribute

Upload: others

Post on 22-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

http://www.cs.tufts.edu/comp/150BBR/timetable.htmlhttp://www.cs.tufts.edu/comp/150BBR/timetable.htmlhttp://www.cs.tufts.edu/comp/150BBR/syllabus.htmlhttp://www.cs.tufts.edu/comp/150BBR/syllabus.html

COMP150COMP150Behavior-Based RoboticsBehavior-Based Robotics

For class use only, do not distributeFor class use only, do not distribute

Page 2: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Course EssentialsCourse Essentials

This is not a standard lecture-type course, where the instructor This is not a standard lecture-type course, where the instructor flips slides and you take notes...flips slides and you take notes...

This course will be essentially student-driven and project-based This course will be essentially student-driven and project-based (there are great models of how instructors when acting as (there are great models of how instructors when acting as facilitators rather than lecturers can speed up student learning facilitators rather than lecturers can speed up student learning and help students retain new information better), henceand help students retain new information better), hence

You will get out of this course what you put into it both in You will get out of this course what you put into it both in terms of effort and time!terms of effort and time!

Before you consider taking the course, ask yourself: what do I Before you consider taking the course, ask yourself: what do I want to get out of it?want to get out of it?

Do not take this course unless you are willing to try hard to get Do not take this course unless you are willing to try hard to get robots to exhibit interesting behaviorsrobots to exhibit interesting behaviors

If you decide to take it under these premises, I promise you that If you decide to take it under these premises, I promise you that you will find it very rewarding and that you will learn a lot!you will find it very rewarding and that you will learn a lot!

Page 3: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Rough StructureRough Structure

Much of the detailed course structure will depend on you, i.e., on Much of the detailed course structure will depend on you, i.e., on your particular interests and projectsyour particular interests and projects

Overall, we will go through the course text fairly quicklyOverall, we will go through the course text fairly quickly

There will be regular readings assigned that everybody is There will be regular readings assigned that everybody is expected to complete expected to complete before classbefore class (otherwise you will have no (otherwise you will have no basis for the discussion in class – note that I will simply assume basis for the discussion in class – note that I will simply assume that everybody has read the chapters!)that everybody has read the chapters!)

We will also read and discuss additional seminal papers in BBR We will also read and discuss additional seminal papers in BBR and embodied situated cognitive scienceand embodied situated cognitive science

While I will start with lectures in the beginning (to give you the While I will start with lectures in the beginning (to give you the historic context, the basic ideas and principles, and the goals of historic context, the basic ideas and principles, and the goals of BBR), there will be less lecturing and more discussions as the BBR), there will be less lecturing and more discussions as the semester progressessemester progresses

Page 4: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Rough Structure Cont'dRough Structure Cont'd

Fairly early on, we will decide on what projects to purse based on Fairly early on, we will decide on what projects to purse based on your interestsyour interests

I am a big believer in collaborative work, so I would like to I am a big believer in collaborative work, so I would like to encourage the formation of groups to jointly work on projectsencourage the formation of groups to jointly work on projects

At some point in late September/early October, you will get a At some point in late September/early October, you will get a detailed tutorial on the available software package for the robot detailed tutorial on the available software package for the robot (it will be helpful to know the basics of JAVA by then)(it will be helpful to know the basics of JAVA by then)

We'll start with simple exercises and examples of behavior-We'll start with simple exercises and examples of behavior-based systems and robotics architectures on simulated robots in based systems and robotics architectures on simulated robots in simple simulated environments right away!simple simulated environments right away!

Later, we will move to more faithful simulations ofLater, we will move to more faithful simulations ofrobots and environments, and ultimately we will tryrobots and environments, and ultimately we will tryout our ideas on real robots – out our ideas on real robots – everybody has to do aeverybody has to do aproject on a real robot!project on a real robot!

Page 5: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Rough Structure Cont'dRough Structure Cont'd

Later in the semester, graduate students are expected to Later in the semester, graduate students are expected to present a research paper to the class, preferably one that is present a research paper to the class, preferably one that is being considered for or used in their project, and the class will being considered for or used in their project, and the class will then judge, discuss, and grade itthen judge, discuss, and grade it

We will also have regular very brief progress reports from each We will also have regular very brief progress reports from each group on the status of their project later in the semestergroup on the status of their project later in the semester

The final in the course is a research paper (possibly one that The final in the course is a research paper (possibly one that could be submitted to a conference somewhere) – note that final could be submitted to a conference somewhere) – note that final papers will be individual papers!papers will be individual papers!

To avoid last minute stress, we will start working on the paper To avoid last minute stress, we will start working on the paper already during the second half of the semester (effectively, I already during the second half of the semester (effectively, I would like to turn the progress reports slowly into papers)would like to turn the progress reports slowly into papers)

You will be provided with presentation and paper guidelines as You will be provided with presentation and paper guidelines as well as paper templateswell as paper templates

Page 6: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

How to get helpHow to get help

First and foremost, First and foremost, try hard yourselftry hard yourself (this can be often the most (this can be often the most rewarding if you figure it out on your own!)rewarding if you figure it out on your own!)

If things still don't work and/or you are still not able to figure If things still don't work and/or you are still not able to figure something out or make sense of it, do the following, roughly in something out or make sense of it, do the following, roughly in this order:this order:

Tip 1: consult the course web pages to see if there is information Tip 1: consult the course web pages to see if there is information you might have missed (http://www.cs.tufts.edu/comp/150BBR/)you might have missed (http://www.cs.tufts.edu/comp/150BBR/)

Tip 2: talk to your classmates, they might be able to helpTip 2: talk to your classmates, they might be able to help

Tip 3: contact the instructor ([email protected] -- email is Tip 3: contact the instructor ([email protected] -- email is the best option!) or the teaching assistant ([email protected]), the best option!) or the teaching assistant ([email protected]), especially for questions about ADE, your code or the robotsespecially for questions about ADE, your code or the robots

Tip 4: if none of the above work, set up a meeting with the Tip 4: if none of the above work, set up a meeting with the instructor or TA (again, use email!)instructor or TA (again, use email!)

Page 7: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Outline for the rest of this week's sesionsOutline for the rest of this week's sesions

AdministrativaAdministrativa

Questions? (move to Mondays?)Questions? (move to Mondays?)

JAVA crash course (tips on how to get started)JAVA crash course (tips on how to get started)

First assignment (include a brief overview of the ADE system)First assignment (include a brief overview of the ADE system)

Historical perspectives on robots and behavior-based roboticsHistorical perspectives on robots and behavior-based robotics

Page 8: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Info and Materials on JAVAInfo and Materials on JAVA

Best online resources from SUN, the source of JAVA!Best online resources from SUN, the source of JAVA!

Online tutorial: Online tutorial: http://java.sun.com/docs/books/tutorial/http://java.sun.com/docs/books/tutorial/

Getting started on Linux:Getting started on Linux:http://java.sun.com/docs/books/tutorial/getStarted/cupojava/unix.htmlhttp://java.sun.com/docs/books/tutorial/getStarted/cupojava/unix.html

Getting started on Windows:Getting started on Windows:http://java.sun.com/docs/books/tutorial/getStarted/cupojava/win32.htmlhttp://java.sun.com/docs/books/tutorial/getStarted/cupojava/win32.html

Getting started with the NetBeans IDE:Getting started with the NetBeans IDE:http://java.sun.com/docs/books/tutorial/getStarted/cupojava/netbeans.htmlhttp://java.sun.com/docs/books/tutorial/getStarted/cupojava/netbeans.html

If you haven't programmed in an OO language, read If you haven't programmed in an OO language, read http://java.sun.com/docs/books/tutorial/java/concepts/index.htmlhttp://java.sun.com/docs/books/tutorial/java/concepts/index.html

For the first assignment, you will only need these basics:For the first assignment, you will only need these basics:http://java.sun.com/docs/books/tutorial/java/nutsandbolts/index.htmlhttp://java.sun.com/docs/books/tutorial/java/nutsandbolts/index.html

But make sure to read the rest of JAVA language description:But make sure to read the rest of JAVA language description:http://java.sun.com/docs/books/tutorial/java/index.htmlhttp://java.sun.com/docs/books/tutorial/java/index.html

Page 9: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

A Simple, Simple ExampleA Simple, Simple Example

/** /** * This class implements my first attempt at running and compiling JAVA * This class implements my first attempt at running and compiling JAVA */ */classclass MyFirstJavaClass { MyFirstJavaClass { intint myonlyvariable; myonlyvariable;

publicpublic MyFirstJavaClass() { MyFirstJavaClass() { System.out.println("In the constructor..."); System.out.println("In the constructor..."); myonlyvariable = 1; myonlyvariable = 1; } }

publicpublic staticstatic void main(String[] args) { void main(String[] args) { MyFirstJavaClass mfjc = MyFirstJavaClass mfjc = newnew MyFirstJavaClass(); MyFirstJavaClass(); System.out.println("Class created!"); System.out.println("Class created!"); System.out.println("Attempt " + mfjc.myonlyvariable); // print it System.out.println("Attempt " + mfjc.myonlyvariable); // print it } }}}

Page 10: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

ADE: The Quick ViewADE: The Quick View

ADE (agent development environment), an intelligent ADE (agent development environment), an intelligent distributed real-time MAS infrastructure for robotic systemsdistributed real-time MAS infrastructure for robotic systems

Page 11: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

ADE: The Quick ViewADE: The Quick View

The basic component in ADE is a The basic component in ADE is a serverserver (i.e., a computational (i.e., a computational unit representing a functional architectural component on a unit representing a functional architectural component on a possibly computationally independent resource); for example:possibly computationally independent resource); for example:

Robot server:Robot server: a representation of a virtual or robotic agent a representation of a virtual or robotic agent within ADE with access to its sensors and effectorswithin ADE with access to its sensors and effectors

Laser server:Laser server: a component that processes and provides a component that processes and provides information from a laser range finder sensor information from a laser range finder sensor

ADESim server:ADESim server: a 2D simulated environment that provides a a 2D simulated environment that provides a robot and a laser serverrobot and a laser server

GUI server:GUI server: a graphical user interface that allows the user to a graphical user interface that allows the user to view all the servers in a running ADE systemview all the servers in a running ADE system

ADE registry:ADE registry: the main ADE control component that manages the main ADE control component that manages all servers (including authentication, access control, monitoring, all servers (including authentication, access control, monitoring, error detection, etc.)error detection, etc.)

Page 12: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

The robots are here...The robots are here...

Page 13: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

The United Nations identified The United Nations identified personal service robotspersonal service robots,, which for which for the first time outnumbered industrial robots in 2005, the first time outnumbered industrial robots in 2005, as having as having the highest expected growth rate, i.e., to quadruple their the highest expected growth rate, i.e., to quadruple their number by 2008 (United Nations, 2005)number by 2008 (United Nations, 2005)

Such robots are envisaged to help the elderly (Hirsch et al., Such robots are envisaged to help the elderly (Hirsch et al., 2000) and support humans in the house (Breemen, Yan, & 2000) and support humans in the house (Breemen, Yan, & Meerbeek, 2005)Meerbeek, 2005)

Popular robotsPopular robots include Aibo (Sony, 1999), Nuvo (ZMP, 2005) and include Aibo (Sony, 1999), Nuvo (ZMP, 2005) and Robosapien (WowWee, 2005) – Robosapien has sold Robosapien (WowWee, 2005) – Robosapien has sold approximately 1.5 million units by January 2005 (Intini, 2005)approximately 1.5 million units by January 2005 (Intini, 2005)

What all these robots have in common is that they interact, in What all these robots have in common is that they interact, in one way or another, with humans (be it for entertainment one way or another, with humans (be it for entertainment purposes or to achieve a task)purposes or to achieve a task)

No need to buy insurance yet...No need to buy insurance yet...

The robots are here...The robots are here...

Page 14: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

The robots are here...The robots are here...

Page 15: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Early robotsEarly robots

Water clock250 B.C.Water clock250 B.C.

Da Vinci's humanoid1495

Da Vinci's humanoid1495

de Vaucanson'squacking duck1738

de Vaucanson'squacking duck1738

Page 16: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Other old robotsOther old robots

Writing robot1773Writing robot1773 Trumpetteer

1810Trumpetteer 1810

Jacquard' textile machine1801Jacquard' textile machine1801

Page 17: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Not so old robotsNot so old robots

UNIMATE, first industrialrobot by General Motors(1961)

UNIMATE, first industrialrobot by General Motors(1961)

Walter Grey'sTortoise(1948/49)

Walter Grey'sTortoise(1948/49)

ELEKTRO couldwalk and talk(1937/38)

ELEKTRO couldwalk and talk(1937/38)

Page 18: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

More modern robotsMore modern robots

Pathfinder (1997)Pathfinder (1997)

Honda P2 (1997)Honda P2 (1997)

Robot TunaMIT (1996)Robot TunaMIT (1996)

Page 19: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Sporty and entertaining robotsSporty and entertaining robots

Page 20: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Robot musiciansRobot musicians

Page 21: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Emotional RobotsEmotional Robots

Page 22: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

HumanoidsHumanoids

Page 23: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

AndroidsAndroids

Page 24: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

What is “Behavior-Based Robotics?”What is “Behavior-Based Robotics?”

““Behavior-based robotics (BBR) bridges the fields of Behavior-based robotics (BBR) bridges the fields of artificial artificial intelligenceintelligence, , engineeringengineering, and , and cognitive sciencecognitive science. The behavior-. The behavior-based approach is a based approach is a methodologymethodology for designing for designing autonomous autonomous agentsagents and and robotsrobots; it is a type of intelligent ; it is a type of intelligent agent architectureagent architecture. . Architectures supply Architectures supply structurestructure and impose and impose constraintsconstraints on the on the way robot control problems are solved. The behavior-based way robot control problems are solved. The behavior-based methodology imposes a general, methodology imposes a general, biologically inspiredbiologically inspired, , bottom-up bottom-up philosophyphilosophy, allowing for a certain freedom of interpretation. Its , allowing for a certain freedom of interpretation. Its goal is to develop goal is to develop methods for controlling artificial systemsmethods for controlling artificial systems (usually physical robots, but also simulated robots and other (usually physical robots, but also simulated robots and other autonomous software agents) and to autonomous software agents) and to use robotics to model and use robotics to model and better understand biological systemsbetter understand biological systems (usually animals, ranging (usually animals, ranging from insects to humans).” (from Maya Mataric' article in the MIT from insects to humans).” (from Maya Mataric' article in the MIT Encyclopedia of Cognitive Science) Encyclopedia of Cognitive Science)

Page 25: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Artificial Intelligence, Cognitive Science, andArtificial Intelligence, Cognitive Science, andthe Behavior-Based Approachthe Behavior-Based Approach

To spell out what the BBR approach is an answer to, we'll To spell out what the BBR approach is an answer to, we'll

first have to understand what “behavior”, and in particular, first have to understand what “behavior”, and in particular, “intelligent behavior” could mean“intelligent behavior” could mean

then we'll take a look at disciplines that deal with intelligence then we'll take a look at disciplines that deal with intelligence (i.e., cognitive science and artificial intelligence) and try to (i.e., cognitive science and artificial intelligence) and try to understand what “models of intelligent behavior” areunderstand what “models of intelligent behavior” are

So, what is “intelligent behavior”?So, what is “intelligent behavior”?

What is intelligence?What is intelligence? What does “intelligent” mean? (from Latin: interleggere What does “intelligent” mean? (from Latin: interleggere

meaning “to understand”, lit. “to read between [the lines]”) meaning “to understand”, lit. “to read between [the lines]”) When is a system intelligent? (ontological questions) When is a system intelligent? (ontological questions) How do we know when a system is intelligent? How do we know when a system is intelligent?

(epistemological question) (epistemological question)

Page 26: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Artificial Intelligence, Cognitive Science, andArtificial Intelligence, Cognitive Science, andthe Behavior-Based Approachthe Behavior-Based Approach

Question: intelligent = cognitive? Question: intelligent = cognitive?

E.g., is it possible to have intelligent systems that are not E.g., is it possible to have intelligent systems that are not cognitive?cognitive?

Much of the initial BBR momemtum was based on this idea!Much of the initial BBR momemtum was based on this idea! Common sense notions include thinking, problem solving, Common sense notions include thinking, problem solving,

learning and memory, emotions, consciousness, intuition and learning and memory, emotions, consciousness, intuition and creativity, language capacity, etc.creativity, language capacity, etc.

One possible answer: whatever the IQ test measures (cp. to the One possible answer: whatever the IQ test measures (cp. to the Bell Curve by Herrnstein and Murrey, or the recent discussions Bell Curve by Herrnstein and Murrey, or the recent discussions on the G-factor)on the G-factor)

Problem: limits intelligence to humans (this would not be Problem: limits intelligence to humans (this would not be unheard of, Descartes effectively claimed that only humans unheard of, Descartes effectively claimed that only humans had “souls” and that other animals were possibly had “souls” and that other animals were possibly sophisticated automata)sophisticated automata)

Page 27: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Artificial Intelligence, Cognitive Science, andArtificial Intelligence, Cognitive Science, andthe Behavior-Based Approachthe Behavior-Based Approach

Others attempts at defining “intelligence”:Others attempts at defining “intelligence”:

““the ability to carry on abstract thinking”the ability to carry on abstract thinking” ““the ability to adapt oneself to the environmentthe ability to adapt oneself to the environment ““the capacity to acquire capacity”the capacity to acquire capacity” ““the capacity to learn or profit by experience”the capacity to learn or profit by experience” ““a biological mechanism by which the effects of a complexity a biological mechanism by which the effects of a complexity

of stimuli are brought together and given a somewhat unified of stimuli are brought together and given a somewhat unified effect in behavior”effect in behavior”

Turing's approach: avoid definition of “intelligence” (Turing testTuring's approach: avoid definition of “intelligence” (Turing test—what does it measure?)—what does it measure?)

Also: emotional IQ, “street smart”, “(sporadic) good thinking”, Also: emotional IQ, “street smart”, “(sporadic) good thinking”, etc.etc.

Page 28: COMP150 Behavior-Based Roboticsthe best option!) or the teaching assistant (jpark@cs.tufts.edu), especially for questions about ADE, your code or the robots Tip 4: if none of the above

Artificial Intelligence, Cognitive Science, andArtificial Intelligence, Cognitive Science, andthe Behavior-Based Approachthe Behavior-Based Approach

What about animals? Are they intelligent? How can we measure What about animals? Are they intelligent? How can we measure their intelligence?their intelligence?

We assume there to be some sort of ordering relation...We assume there to be some sort of ordering relation...

Maybe there is no general answer to the question (maybe Maybe there is no general answer to the question (maybe “intelligence” is a “cluster concept”...)“intelligence” is a “cluster concept”...)

So, we'll take the following theoretical approach: So, we'll take the following theoretical approach:

first of all, avoid answer and focus on behavior, i.e., of first of all, avoid answer and focus on behavior, i.e., of behavior in particular circumstances (work with operational behavior in particular circumstances (work with operational definition of intelligence)definition of intelligence)

second, we are interested in how a given behavior can come second, we are interested in how a given behavior can come about, how it can be implemented or how it can “emerge” about, how it can be implemented or how it can “emerge” from other behaviors (contrast different behaviors, different from other behaviors (contrast different behaviors, different implementations, for different tasks in different implementations, for different tasks in different environments)environments)