http://www.albany.edu/robotics 2 3 A machine Built to help us Autonomous (not remote control) If we want robots to do things for us, we have to program them How do we program a robot? What does the robot need to KNOW to do useful things? 4 Imagine picking up some trash from the floor and taking it to the nearest garbage bin What does a robot need to know? 5 Understand what’s around them, where is the trash? (SENSE) Work out what they are going to do, what does “pick up garbage” mean? (PLAN) Do it, move, turn (ACT) 6 How do we do things? Called ACTING What do robots have to do things? 7 Speech Motor Wheels Gripper Display Tracks Legs Face 8 We need to give instructions to the robots That’s what programming is Many programming languages We’re going to use a programming language called NXT-g Graphical Easy Powerful 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Remember: Run the robot on the floor Take the cable out of the shoulder (leave it in the computer) Orange button finds and runs the program Remember: the dark gray button is the kill switch. Use this if the robot goes nuts. What happened? 26 Move forward 3 seconds, then backward 3 seconds Move forward 3 seconds, and turn left or right (try to get close to a 90o turn) Once complete, you can play with Power Duration Sharp vs. lazy turn 27 28 29 Make the robot move forward for 3 seconds Download program to robot Unplug robot Find the new program on the robot Press gray button to go back to the folder with your programs in it Use left and right arrow buttons to find “square” program Use orange button to run the “square” program 30 Add instructions to drive around in a square, start and end in the same spot What was that like? Robot does exactly what you tell it to do Every robot is different Eight move blocks 31 How many blocks do you need: To drive a square twice? To drive a square twenty times? Is there a better way to do this? Let’s create a new program 32 33 34 35 Use the loop structure to make your robot drive around in a rough square Make the robot drive EXACTLY once around the square, and then stop Make the robot drive once around a square, and then rotate roughly 360 degrees on the spot 36 What do we use to get information about the world? This is called SENSING Is your robot “smart”? What do robots use to get information about the world? 37 Camera Color Infra Red Ultra Sonic Sound Touch 38 39 40 41 42 43 44 45 46 47 48 Make your robot drive around without crashing into objects in its way Scan in front of you IF there’s nothing close, THEN drive forward IF there is an object ‘close’ THEN turn 90 degrees Do this forever Hint: Robots can only do ONE thing at a time 49 How are we able to deal with things that occur as we do our stuff? How do we put things together in a sequence? This is called PLANNING How does your robot decide what to do? 50 Think of IF-THEN rules IF <see garbage> THEN <pick-up> IF <holding garbage> AND <at trash can> THEN <drop garbage> IF <10PM> OR <battery low> THEN <sleep> IF NOT <holding garbage> THEN <search room> 51 You’ve been programming your robot Giving the PLANS or INSTRUCTIONS to do tasks Using SENSORS to help make decisions Using EFFECTORS to carry out those plans 52 Would you want to hang out with your robot? What mood is your robot in? Can robots have moods? 53 Social robots will interact with us in our world Need to cooperate, communicate and collaborate with humans Have to understand our goals, our actions, and our behaviors What do robots need to achieve this? 54 55 BANG!!! 56 OUCH!!!! Ooops. Sorry! BANG!!! 57 The offer seems Wait a really good…. second…hang ROOMBA: So I thinkNOT we on… NOW!!! can go ahead with the sale… VRRROOOMMM Can you guess what this robot does? 59 60 61 How do you communicate? How do I know how you feel? Do you act differently to communicate different things? 62 Uses sounds to make noise Uses display to show expressions, art and messages Uses actions to reinforce mood 63 64 65 66 Create a POLITE robot and show it off Create a SHY robot and show it off Create a FRANTIC robot and show it off Create a SILLY robot and show it off 67 Designing new robots New sensors New ways of combining sensor information New effectors Making robots think How to get them to talk How to make their eyes work All of this involves writing programs 68 Study math and science Join robot clubs Scratch? Tell your friends to take this workshop 69