CS 493/790(X) - Lecture 1 2
What will we Learn?
• Cover fundamental aspects of robotics– What is a robot?
– What are robots composed of?
– How do we control/program robots?
• Advanced robotics techniques– Development of the robotics field and the main
directions of research in this area
– Representative approaches to robot control, learning, coordination and cooperation between multiple robots and human-robot interaction
• Hands-on experience
CS 493/790(X) - Lecture 1 3
General Information
• Instructor: Dr. Monica Nicolescu
– E-mail: [email protected]
– Office hours: Tuesday, Thursday 2:30pm-3:30pm
– Room: SEM 239
• Class webpage:
– http://www.cs.unr.edu/~monica/Courses/CS493-790/
• Time and Place
– Tuesday: 9:30-10:45am; PE 205
• Laboratory room
– SEM 246
CS 493/790(X) - Lecture 1 4
Readings and Presentations
• Two papers (on average) discussed at each lecture
• Each paper is presented by a student
• Presentation guidelines
– At most 30 minutes
– Briefly summarize the paper
– Discuss the paper, its strengths, weaknesses, any points
needing clarification
– Addressing any questions the other students may have
CS 493/790(X) - Lecture 1 5
Readings and Paper Reports
• For each paper, all students must submit, at the
beginning of the class a brief report of the paper
• Report format (typed)
– Student's name
– Title and authors of the paper
– A short paragraph summarizing the contributions of the
paper
– A critique of the paper that addresses the strengths and
weaknesses of the paper
CS 493/790(X) - Lecture 1 6
Project
• Individual project on topics covered in class
• Project topics: an implementation of either:
– a single robot system (involving complex behavior and
demonstrated on a physical robot) or
– a multi-robot system (involving cooperation/
communication/ coordination between robots and
demonstrated in simulation)
CS 493/790(X) - Lecture 1 7
Project Reports
• Should include the following:
– Title, author
– Abstract
– Introduction and motivation
– Problem definition: project goals, assumptions, constraints, and
evaluation criteria
– Details of proposed approach
– Results and objective experimental evaluation
– Review of relevant literature and previous research and how it relates to
the project
– Discussion (strengths and weaknesses) and conclusion
– References
– Appendix (relevant code or algorithms)
CS 493/790(X) - Lecture 1 8
Project Testbeds
• The Player-Stage-Gazebo simulator
(playerstage.sourceforge.net) – Player is a general purpose language-indepedent network
server for robot control
– Stage is a Player-compatible high-fidelity indoor multi-robot
simulation testbed
– Gazebo is a Player-compatible high-fidelity 3D outdoor
simulation testbed with dynamics
– Player/Stage/Gazebo allows for direct porting to Player-
compatible physical robots.
CS 493/790(X) - Lecture 1 9
Project Testbeds
• One Player-compatible ActivMedia Pioneer 1 AT (all
terrain) robot – 7 sonar sensors and requires the use of a laptop (not provided)
• One Player-compatible ActivMedia Pioneer 1 indoor
robot– 7 sonar sensors and requires the use of a laptop (not provided)
• 16 LEGO robot kits– Handy Board microcontroller
– Programming in Interactive C
CS 493/790(X) - Lecture 1 10
Class Policy
• Grading
– Paper reports: 20%
– Participation in class discussions: 20%
– Paper presentations: 20%
– Final project: 40%
• Late submissions
– No late submissions will be accepted
• Attendance
– Full participation in class discussions
CS 493/790(X) - Lecture 1 11
Important Dates/Milestones
• September 21
– Project topic proposal and presentation
– One page that outlines the specific goals,
implementation platform and the proposed approach
• November 4
– Project status presentations
– 5 minute in-class presentation
– One-two pages that describe the current status of the
project, what has been done, what is still to be done
CS 493/790(X) - Lecture 1 12
Important Dates/Milestones
• December 7
– Project final presentations
– May extend to Dec 2&7
• December 10
– Project final demonstrations
– Project final reports due
CS 493/790(X) - Lecture 1 13
Optional Textbooks
• Basic topics
– The Robotics Primer, 2001. Author: Maja
Mataric'
– Will be available in draft form at the bookstore
• Advanced topics
– Behavior-Based Robotics, 2001.
Author: Ron Arkin
– Available at the library
CS 493/790(X) - Lecture 1 14
Optional Textbooks
• Lego Robots
– Robotic Explorations: An Introduction to
Engineering Through Design, 2001. Author:
Fred G. Martin
CS 493/790(X) - Lecture 1 15
The term “robot”
• Karel Capek’s 1921 play RUR (Rossum’s Universal
Robots)
– It is (most likely) a combination of “rabota” (obligatory
work) and “robotnik” (serf)
• Most real-world robots today do perform such
“obligatory work” in highly controlled environments
– Factory automation (car assembly)
• But that is not what robotics research about; the
trends and the future look much more interesting
CS 493/790(X) - Lecture 1 16
What is a Robot?
• In the past
– A clever mechanical device – automaton
• Robotics Industry Association, 1985
– “A re-programmable, multi-functional manipulator designed
to move material, parts, tools, or specialized devices […]
for the performance of various tasks”
• What does this definition missing?
– Notions of thought, reasoning, problem solving, emotion,
consciousness
CS 493/790(X) - Lecture 1 17
A Robot is…
• … a machine able to extract information from its
environment and use knowledge about its world to
act safely in a meaningful and purposeful manner
(Ron Arkin, 1998)
• … an autonomous system which exists in the
physical world, can sense its environment and can
act on it to achieve some goals
CS 493/790(X) - Lecture 1 18
What is Robotics?
• Robotics is the study of robots, autonomous
embodied systems interacting with the physical
world
• Robotics addresses perception, interaction and
action, in the physical world
CS 493/790(X) - Lecture 1 19
Robots: Alternative Terms
• UAV
– unmanned aerial vehicle
• UGV (rover)
– unmanned ground vehicle
• UUV
– unmanned undersea vehicle
CS 493/790(X) - Lecture 1 24
Humanoid Robots
Robonaut (NASA) Sony Dream Robot
Asimo (Honda)
DB (ATR)
QRIO
CS 493/790(X) - Lecture 1 25
What is in a Robot?
• Sensors
• Effectors and actuators
– Used for locomotion and manipulation
• Controllers for the above systems
– Coordinating information from sensors with commands for
the robot’s actuators
CS 493/790(X) - Lecture 1 26
Sensors
• Sensor = physical device that provides information
about the world
– Process is called sensing or perception
• What does a robot need to sense?
– Depends on the task it has to do
• Sensor (perceptual) space
– All possible values of sensor readings
– One needs to “see” the world through the robot’s “eyes”
– Grows quickly as you add more sensors
CS 493/790(X) - Lecture 1 27
State
State: A description of the robot (of a system in general)
• For a robot state can be:
– Observable: the robot knows its state entirely
– Partially observable: the robot only knows a part of its state
– Hidden (unobservable): the robot does not have any access
to its state
– Discrete: up, down, blue, red
– Continuous: 2.34 mph
CS 493/790(X) - Lecture 1 28
Types of State
• External– The state of the world as perceived by the robot
– Perceived through sensors
– E.g.: sunny, cold
• Internal– The state of the robot as it can perceive it
– Perceived through internal sensors, monitoring (stored, remembered state)
– E.g.: Low battery, velocity
• The robot’s state is the combination of its internal and external state
CS 493/790(X) - Lecture 1 29
State Space
• All possible states a robot could be in
– E.g.: light switch has two states, ON, OFF; light switch with
dimmer has continuous state (possibly infinitely many
states)
• Different than the sensor/perceptual space!!
– Internal state may be used to store information about the
world (maps, location of “food”, etc.)
• How intelligent a robot appears is strongly
dependent on how much and how fast it can sense
its environment and about itself
CS 493/790(X) - Lecture 1 30
Representation
• Internal state that stores information about the world
is called a representation or internal model
– Self: stored proprioception, goals, intentions, plans
– Environment: maps
– Objects, people, other robots
– Task: what needs to be done, when, in what order
• Representations and models influence determine
the complexity of a robot’s “brain”
CS 493/790(X) - Lecture 1 31
Action
• Effectors: devices of the robot that have impact on the environment (legs, wings robotic legs, propeller)
• Actuators: mechanisms that allow the effectors to do their work (muscles motors)
• Robotic actuators are used for– locomotion (moving around, going places)
– manipulation (handling objects)
• This divides robotics into two basic areas– Mobile robotics
– Manipulator robotics
CS 493/790(X) - Lecture 1 32
Autonomy
• Autonomy is the ability to make one’s own decisions
and act on them.
– For robots: take the appropriate action on a given situation
• Autonomy can be complete (R2D2) or partial
(teleoperated robots)
• Controllers enable robots to be autonomous
– Play the role of the “brain” and nervous system in animals
– Typically more than one controller, each process
information from sensors and decide what actions to take
– Challenge in robotics: how do all these controllers
coordinate with each other?
CS 493/790(X) - Lecture 1 33
Control Architectures
• Robot control is the means by which the sensing and
action of a robot are coordinated
• Control architecture
– Guiding principles and constraints for organizing a robot’s
control system
• Robot control may be implemented:
– In hardware: programmable logic arrays
– In software
• Controllers need not (should not) be a single program
– Should control modules be centralized?
CS 493/790(X) - Lecture 1 34
Languages for Programming Robots
• What is the best robot programming language?
– There is no “best” language
• In general, use the language that
– Is best suited for the task
– Comes with the hardware
– You are used to
• General purpose:
– JAVA, C
• Specially designed:
– the Behavior Language, the Subsumption Language