Telling a robot how to behave Adam Finkelstein COS 116: Spring 2012Today: 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 cultureReal robotsDiscussion… 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 peopleComponents of a robot Three stages: 1. Sensors/Inputs: light, sound, motion... 2. 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 Inputs Outputs buttonScribbler insideFormal 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 ScribblerRemember (esp. for Scribbler labs): Microprocessor can do one thing at a time Very fast -- 20 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 technologiesOur robot: Scribbler Light outputs Speaker Light sensors Obstacle sensor detector Obstacle sensor emitter Stall sensor Line sensor (underneath) Motor/wheels Inputs Outputs buttonExample 1: As a burglar alarm If beam interrupted… Beep!Example 2: As an artisteInteresting note: Scribbler is more stupid than you think GOTO Main SenseObs: FREQOUT ObsTxLeft, 1, 38500 IF (ObsRx = 0) THEN object_left = 1 ELSE object_left = 0 LOW ObsTxLeft FREQOUT ObsTxRight, 1, 38500 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 08Where are things going? Small cleaning agents – BrooksWhere 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 hoursThe Princeton Entry Undergraduate Project; reached the finalsWhere are we going?What is going inside us? Da Vinci Robotic surgery system More precise, though often still controlled by humanWhy 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 32-51 2. Lab: Web 2.0 3. Homework 1: Survey (All posted on course web page.) TO
View Full Document