Understanding Robots: Programming, Sensing, and Social Interaction in Robotics
Explore the fundamentals of robotics in this engaging workshop. Discover what defines a robot and how they are built and programmed to perform tasks. Learn about the importance of sensing, planning, and acting in robotic operations, such as picking up and disposing of trash. Delve into the role of computer science in robotics and understand how programming algorithms create desired behaviors. The session also covers social robots, their interaction with humans, and practical examples like Roomba. Ideal for beginners and enthusiasts alike.
Understanding Robots: Programming, Sensing, and Social Interaction in Robotics
E N D
Presentation Transcript
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!!!