Telling a robot how to behave Adam Finkelstein COS 116: Spring 2012.

Slides:



Advertisements
Similar presentations
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Advertisements

1.6 Inside the system unit [Hardware]
Sensing the World Intro to Robots.
Telling a computer how to behave (via pseudocode -- a workaround for Computing’s Tower of Babel.) COS 116, Spring 2010 Adam Finkelstein.
Computer Programming with Robots. Computer programming consists of writing lines of code in a language that a computer will understand to solve a problem.
Where Are We Going? CPSC 120 Principles of Computer Science September 23, 2012.
Traffic Light Behavior IF A=1 AND B=0 Car Sensors B A.
Lecture 1: Intro to Computers Yoni Fridman 6/28/01 6/28/01.
ENGR 101: Robotics Lecture 5 – Subprograms Outline  Subprograms  The Infrared Sensor System References 
Deepak Kumar Promising Practices in CS1 Personal Robots for CS1 Deepak Kumar Bryn Mawr College.
CS 101 Problem Solving and Structured Programming in C Sami Rollins Spring 2003.
Learning to Program with Python Sec 9-1 Web Design.
Telling a computer how to behave (via pseudocode -- a workaround for Computing’s Tower of Babel.) COS 116, Spring 2012 Adam Finkelstein.
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
INTRODUCTION OBJECTIVES BE ACQUANTED WITH AUTOMATION AND ROBOTS UNDERSTAND THE TECHNOLOGY OF ROBOTS RECOGNIZE THE ECONOMIC AND SOCIAL ISSUES ASSOCIAT5ED.
ENGG1100 Lecture7: Introduction To Engineering Design (Digital Logic) Part 2 Kin Hong Wong ENGG1100. Ch7-Digital Logic (part 2) 16/02/15 1.
Automated Manufacturing Systems
Open and Closed Loops Standard Grade Computing Studies.
COS 116: The Computational Universe Adam Finkelstein Spring 2012.
ENGG1100 Introduction to Engineering Design Digital Logic (Part 2) Prof. Kin Hong Wong Department of Computer Science and Engineering.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
PLC introduction1 Discrete Event Control Concept Representation DEC controller design DEC controller implementation.
Computing Review Questions. Record your responses in your Computing 101 notebook.
// This is a simple control program Move forward 200 units Turn right 90 Move forward 100 units Turn right 45 Move forward 100 Turn right 45 Move forward.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Introduction to Robotics Part 1 Direct Control Robots and Robotic systems.
IT253: Computer Organization Lecture 1: Introduction Tonga Institute of Higher Education.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
1 Nassau Community CollegeProf. Vincent Costa Acknowledgements: An Introduction to Programming Using Visual Basic 2012, All Rights ReservedAn Introduction.
Today’s Agenda 1.Scribbler Program Assignment 1.Project idea due next class 2.Program demonstration due Wednesday, June 3 2.Attendance & lab pair groupings.
Telling a robot how to behave Adam Finkelstein COS 116: Spring 2010.
HardwareHardware F451 - AS Computing. Hardware and Software Definition Hardware –The physical components that make up a computer system. Includes all.
1 Robotics Challenge Overview. 2 Why? -Viking was tested at the Dunes -Develop intelligent robots -Explore Robotics.
Artificial Intelligence By Michelle Witcofsky And Evan Flanagan.
Barclays Robot Challenge Learn how to Program Robots.
Telling a robot how to behave Sanjeev Arora COS 116: Spring 2011.
Sentry System Multiple Sensors
Today’s Agenda 1.Research Paper – Due Wednesday –Oral presentations March 11 & 18 (Last Class &Final) 2.Attendance & lab pair groupings 3.Robots 1.Hands-on.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
AI in Robotics April 23, 2008 Michael Buynak. Layout Introduction to robotics Ethics Historical (lots of videos)  Past  Present  Future.
What is Artificial Intelligence? What is artificial intelligence? It is the science and engineering of making intelligent machines, especially intelligent.
CSC 1010 Programming for All Lecture 1 Some material courtesy of Python for Informatics: Exploring Information (
Telling a computer how to behave (via pseudocode -- a workaround for Computing’s Tower of Babel.) COS 116, Spring 2011 Sanjeev Arora.
COS 116: The Computational Universe Adam Finkelstein Spring 2010.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
HISTORY OF ROBOTICS BRIEF TIMELINE OF MODERN ROBOTICS.
Ch 1 - Introduction to Computers and Programming Hardware Terminology Main Memory Auxiliary Memory Drives Writing Algorithms Using Pseudocode Programming.
BTEC First Information and Creative Technology Teaching and Assessment Pack Unit 2: Technology Systems Hardware devices.
1 Overview of Programming Principles of Computers.
Chapter1: Basic Concepts in Information Technology Chapter2: Hardware Chapter3: Memory, Storage and Performance Chapter4: Software.
W e A re L earning T o  Understand the term control and program  To understand the basic symbols used in Flowol.
An operating system (OS) is a collection of system programs that together control the operation of a computer system.
Learning to Program with Python Sec 9-1 Web Design.
The Scribbler. The Scribbler is a small, low-cost fully programmable intelligent robot with multiple sensor systems. It is capable of interacting with.
Computer Science.
GCSE COMPUTER SCIENCE Computers
VEX IQ Curriculum Smart Machines Lesson 09 Lesson Materials:
Learning to Program D is for Digital.
Control Control Devices.
Learning to Program with Python
Introduction to Computers
Introduction to robotics
CS190/295 Programming in Python for Life Sciences: Lecture 1
Music by Touch Music by Touch Presentation > TeachEngineering.org
What is a Robot?.
Programming Fundamentals
Warm Up- What is a robot? Describe in one sentence what you understand by the term ‘robot’ 2. What are the main parts of a robot? What do people do to.
What do all these things have in common?
Computing Introduction.
Presentation transcript:

Telling a robot how to behave Adam Finkelstein COS 116: Spring 2012

Today: Understanding a simple robot Why? Larger goal: seek an answer to “What is Computation?” Acquire insight into technology that will become pervasive within the next decade. First encounter with many themes of the course.

Robots in pop culture

Real robots

Discussion… Mars rover: what are the design principles?

Definition of “Robot”: A machine that can be programmed to interact with the physical environment in a desired way Key word: programmed  As opposed to cars, televisions, which are operated by people

Components of a robot Three stages: 1. Sensors/Inputs: light, sound, motion Computing Hardware 3. Outputs/Actions: motors, lights, speakers…

Our robot: Scribbler Light outputs Speaker Light sensors Obstacle sensor detector Obstacle sensor emitter Stall sensor Line sensor (underneath) Motor/wheels InputsOutputs button

Scribbler inside

Formal specification of actions Fact of life in computing: hardware is “dumb” Forces us to make nebulous concepts precise  What is language? Music? Intelligence? Running themes:  What is machine “intelligence”?  Are there limits?

Controlling Scribbler

Remember (esp. for Scribbler labs):  Microprocessor can do one thing at a time  Very fast million operations per second!  Compound instructions: sequence within {…}

Why programmable? Benefits of a programmable device:  Flexible  Multi-use  Universal Main difference between computers and other technologies

Our robot: Scribbler Light outputs Speaker Light sensors Obstacle sensor detector Obstacle sensor emitter Stall sensor Line sensor (underneath) Motor/wheels InputsOutputs button

Example 1: As a burglar alarm If beam interrupted… Beep!

Example 2: As an artiste

Interesting note: Scribbler is more stupid than you think GOTO Main SenseObs: FREQOUT ObsTxLeft, 1, IF (ObsRx = 0) THEN object_left = 1 ELSE object_left = 0 LOW ObsTxLeft FREQOUT ObsTxRight, 1, IF (ObsRx = 0) THEN object_right = 1 ELSE object_right = 0 LOW ObsTxRight RETURN SenseLine: HIGH LineEnable line_right = LineRight line_left = LineLeft LOW LineEnable Do forever { Move Forward for 1s Move back for 1s } END = 3 pages of stuff like “Translator” written by Rajesh Poddar ‘08

Where are things going? “Small cleaning agents” – Brooks

Where are things going? Automated highways Being actively researched (From Minority Report)

Where are things going? DARPA Grand Challenge ($2 M prize):  132 mile race in the desert  No human control!  5 teams, Stanford won in ~7 hours

The Princeton Entry Undergraduate Project; reached the finals

Where are we going?

What is going inside us? “Da Vinci” Robotic surgery system More precise, though often still controlled by human

Why are multi-purpose robots so hard to build? Need precise instruments that act like: eyes, ears, hands, fingers, … Need smart ways to use sensor data (ex: human eyesight vs. high-res camera)

1. Reading: Brooks pp 12-21, pp Lab: Web Homework 1: Survey (All posted on course web page.) TO DO’s