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

Slides:



Advertisements
Similar presentations
EMBEDDED SYSTEMS. Textbook: T. Bräunl Embedded Robotics, Springer 2003.
Advertisements

Chapter 1 - An Introduction to Computers and Problem Solving
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.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
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.
ENGR 101: Robotics Lecture 5 – Subprograms Outline  Subprograms  The Infrared Sensor System References 
What is the DARPA Grand Challenge?  Autonomous Robotic Ground Vehicles Goal of the Armed Forces to have 1/3 of the ground vehicles unmanned by 2015 $2.
Deepak Kumar Promising Practices in CS1 Personal Robots for CS1 Deepak Kumar Bryn Mawr College.
Telling a robot how to behave Adam Finkelstein COS 116: Spring 2012.
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.
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.
1 RoboSapien Based Autonomous Humanoid Robot Researched and Presented by Nick Repka.
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.
Autonomous Multiagent Systems Instructor: Peter Stone.
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.
Design and Implementation of Cooperative Mobile Robots G. B. Lush and Gustavo A. Martinez Electronic Devices Laboratory Department of Electrical and Computer.
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.
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.
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.
ENGR 101: Robotics Lecture 4 – Making Decisions Outline  The Stall Sensor  Making Decisions  Random Number Generation References 
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.
COS 116: The Computational Universe Sanjeev Arora Spring 2011.
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.
Lego League. What is the Lego League? What we will be doing for the next few weeks The AIM of the next few weeks is to gain knowledge into programming,
LOGICFUSION’S HANDS-ON ROBOTICS EV3 LEVEL 2! Welcome to.
Computer Science.
GCSE COMPUTER SCIENCE Computers
VEX IQ Curriculum Smart Machines Lesson 09 Lesson Materials:
Learning to Program D is for Digital.
hardware bits and bytes Java
Control Control Devices.
Learning to Program with Python
Introduction to Computers
Introduction to robotics
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.
Computing Introduction.
Presentation transcript:

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

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 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

Always 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

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? 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?

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

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)

This week’s lab: Web 2.0 (Take-home lab – posted on course web page.) This week’s reading: Brooks pp 12-21, pp REMINDERS