Welcome! Teaching with Robotics CompSci 96S/Education 96S North 314 Th 3:05-5:30 Professor: Jeffrey Forbes http://www.cs.duke.edu/courses/fall07/cps096s CompSci 96s 1.1 What is a robot? Definitions Webster: a machine that looks like a human being and performs various acts (as walking and talking) of a human being Robotics Institute of America: a robot is a reprogrammable multifunctional manipulator designed to move material, parts, tools, or specialized devices through variable programmed motions for the performance of a variety of tasks What’s our definition Components of a robot system? CompSci 96s 1.2 Agents and Environments CompSci 96s 1.3 Uses of robots Where and when to use robots? Tasks that are dirty, dull, or dangerous Where there is significant academic and industrial interest Ethical and liability issues What industries? What applications? CompSci 96s 1.4 Robocup The Goal: By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world soccer champion team QuickTime™ and a YUV420 codec decompressor are needed to see this picture. CompSci 96s 1.5 Outreach How can we use robots to inspire middle and high school students? What about the Digital Divide? Is service learning a good model for enrichment programs? RoboCupJunior: International, national, and regional competitions for elementary, middle, and high school students CompSci 96s 1.6 Educational Robotics Sklar: the use of robotics for learning topics other than specifically robotics What basic topics would you expect robotics to teach? What skills would you expect students to learn in building robots? Constructionist learning CompSci 96s 1.7 Why Robotics? Robotics is exciting, motivating, and fun! Robotics connects students to advanced scientific research and development Students learn by doing You need to know a lot of math and science to design, build, program, and evaluate a robot Robot Software RoboLab uses icons to build a program. These icons turn on the robot’s motors. This icon makes the robot stop. This icon makes the robot drive for 6 seconds. RoboCupJunior Competition founded at RoboCup 2000 in Melbourne Goal: to create a learning environment for today and to foster understanding among humans and technology for tomorrow Encourage teamwork and project-bnased learning, development of communication and time management skills, in addition to traditional academic areas like engineering and programming De-empahsizes competition and emphasis inter-team cooperation, dialogue, and sharing Dance, rescue, and soccer Local team competed in RoboCup 2007 in Atlanta CompSci 96s 1.10 Computer architecture von Neumann model Memory: random access memory (RAM) for program instructions and data ALU: includes set of registers for performing calculations Control: responsible for fetching and decoding instructions Input & output Bus: various internal pathways CompSci 96s Processor Input Control Memory arthmetic/ logic Output 1.11 The RCX Hitachi H8/3297 series processor 3 inputs/sensors (1, 2, 3) 3 outputs/motors (A, B, C) 32k RAM/ 16k ROM Multiple threads of execution LCD Display & Speaker 3 programmable buttons IR send/receive Sensors Light, touch, rotation Sonar and compass avail CompSci 96s 1.12 LEGO Mindstorms NXT Atmel 32-bit ARM processor 4 inputs/sensors (1, 2, 3, 4) 3 outputs/motors (A, B, C) 256 KB Flash Memory 64 KB RAM USB 2.0 Communication 4 programmable buttons 100x64 b/w LCD Display Sensors Active: • Old light and rotation Passive • Touch, sensors for NXT Digital • Ultrasonic QuickTime™ and a TIFF (Uncomp resse d) de com press or are nee ded to s ee this picture. Motors 170 RPM 360 RPM for old motors, why? QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. CompSci 96s 1.13 Build a robot! Taskbot Extensible Geared From CMU Robotics Engineering Teaching Materials What are some of the desired properties for a robot base? What are some building principles? CompSci 96s 1.14 Control basics Some definitions: Control system: arrangement of physics components connected or related in such a manner as to form and/or act as an entire unit Kinematics: the description or study of the geometry of motion Dynamics: the description or study of the forces that affect the motion of objects Open-loop control Compute trajectory a priori and make necessary actions to complete task Closed-loop control Use sensors to provide feedback to modify the trajectory and actions CompSci 96s 1.15 ROBOLAB Pilot Mode graphics based limited capability great for kids? Inventor Mode variables conditionals loops multitasking Investigator Mode Charts & graphs Analyze data CompSci 96s QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. QuickTime™ and a TIFF (Uncompressed) decompressor are needed to see this picture. 1.16 Inventor CompSci 96s 1.17 Pilot CompSci 96s 1.18 Challenges 1. 2. Getting there Using Pilot 1 - program your car to move for 1 sec Measure the distance it went Predict distance for n sec (Pilot 2 may be useful) Run and check model Touch-activated Using Pilot 4 make it so your robot starts when the touch sensor is pressed and stops when it hits something How would you make it bounce off the wall and explore an area? How could you keep your robot from running off the table with a light sensor? CompSci 96s 1.19 Line follower Design a program that can follow a black line Questions: What sensors would your robot need? What simple algorithm could you use? How would you calibrate your readings? How would you test your robot? CompSci 96s 1.20