580 likes | 708 Views
Jennifer Goodall, Nick Webb, Katy DeCorah http:// www.albany.edu /robotics. NCWIT Social Robotics Workshop. What is a robot?. Machine Built to do job(s ) Programmed Maybe autonomous If we want robots to do things for us, we have to program them How do we program a robot?
E N D
Jennifer Goodall, Nick Webb, Katy DeCorah http://www.albany.edu/robotics NCWIT Social Robotics Workshop
What is a robot? • Machine • Built to do job(s) • Programmed • Maybe autonomous • 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?
How do robots work? • What do they need to do to perform tasks? • Imagine picking up some trash from the floor and taking it to the nearest garbage bin • Need to get an understanding of what’s around them, like where the trash is (SENSE) • Need to work out what they are going to do, and how they are going to do it (PLAN) • Then they need to actually do it (ACT)
What does this have to do with computer science? • 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
So, what is computer science? • Computer programming • Create the behavior you want the robot or computer to do • Think ‘algorithmically’ • Write down that algorithm in a way that a machine understands • Test it, improve it
Acting: How do I do it? • How do we do things? • We move around • We pick things up • We drop things • Robots need to use the same • Called ACTING
Effectors (for Action) Speech Wheels Motor Gripper Display Tracks Legs Face
Tasks • 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) • Try to get robot to drive around a square • Is there a better way to do this? • Let’s create a new program
Loops • Use the loop structure to make your robot drive around in a rough square • Can you make it so that the robot drives EXACTLY once around the square, and then stops? • Can you make it drive once around a square, and then rotate roughly 360 degrees on the spot?
Sensing: What’s going on? • What do we use to find out about the world around us? • Eyes • Ears • Touch • Taste • Smell • Robots need to use the same • Called SENSING
Sensors Camera Sound Infra Red Color Ultra Sonic Touch
Sensing • Create a new program (called avoidObjects): • Drive forward • IF there’s an object ‘close’ to the robot • THEN turn 90 degrees left or right (your choice) • Do this forever • Try a new program with the color sensor • Make the robot drive around • IF it detects something RED • THEN stop
What have you been doing? • 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
Planning: What should I do? • How do we decide what to do? • Make decisions of what to do… • …and when • Put things together in sequence • Make a plan (for the day, or week, or…) • Have to be able to deal with things that occur as we do our stuff • Robots need to use the same • Called PLANNING
Plan • 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> • IFNOT <holding garbage> THEN <search room>
Definition of a social robot • 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?
Example: Roomba BANG!!!