Professional Documents
Culture Documents
C1 - Introduction To Robotics AP
C1 - Introduction To Robotics AP
Industrial Robot
Dr. Le Duc Do
Email: do.leduc@hust.edu.vn
Goal of this course
http://www.airforce- http://www.pleoworld
technology.com/project .com/pleo_rb/eng/life
s/predator-uav/ form.php
http://www.cmu.edu/cm
http://www.toyota-
global.com/innovation/partn news/020906/020906_g
er_robot/concept.html race.html
What is a robot?
Definition:
“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.” (Robot
Institute of America)
Alternate definition: “A robot is a one-armed,
blind idiot with limited memory and which
cannot speak, see, or hear.”
Robots
Robota (Czech) = A worker of forced labor
From Czech playwright Karel Capek's 1921 play “R.U.R”
(“Rossum's Universal Robots”)
Japanese Industrial Robot Association (JIRA) :
“A device with degrees of freedom that can be
controlled.”
Class 1 : Manual handling device
Mobile Robots
Robots
Walking Robots
Humanoid Robots
What subsystems make up a
robot?
Robots have:
Sensors
Stationary base
Mobile
Effectors
Control/Software
Very similar to an agent!
Autonomous Robots
The control of autonomous robots involves a
number of subtasks
Understanding and modeling of the mechanism
Kinematics, Dynamics, and Odometry
Reliable control of the actuators
Closed-loop control
Generation of task-specific motions
Path planning
Integration of sensors
Selection and interfacing of various types of sensors
Coping with noise and uncertainty
Filtering of sensor noise and actuator uncertainty
Creation of flexible control policies
Control has to deal with new situations
Traditional Industrial Robots
Traditional industrial robot control uses robot
arms and largely pre-computed motions
Programming using “teach box”
Repetitive tasks
High speed
Few sensing operations
High precision movements
Pre-planned trajectories and
task policies
No interaction with humans
In-class Exercise
As a group, discuss an activity that you
think could be automated by using a
robot.
Define the tasks that the robot will
perform.
What kind of special tooling is required?
Sketch if you will use any.
Can the activity be justified
economically? Show your development
– do not simply say yes or no.
What are robots good at?
What is hard for humans is easy for robots.
Repetitive tasks.
Continuous operation.
Complicated calculations.
Refer to huge databases.
What is easy for a human is hard for robots.
Reasoning.
Adapting to new situations.
Flexible to changing requirements.
Integrating multiple sensors.
Resolving conflicting data.
Synthesizing unrelated information.
Creativity.
What tasks would you give
robots?
Dangerous
space exploration
chemical spill cleanup
disarming bombs
disaster cleanup
Boring and/or repetitive
welding car frames
part pick and place
manufacturing parts.
High precision or high speed
electronics testing
surgery
precision machining.
Problems
Traditional programming techniques for
industrial robots lack key capabilities necessary
in intelligent environments
Only limited on-line sensing
No incorporation of uncertainty
No interaction with humans
Reliance on perfect task information
Complete re-programming for new tasks
Requirements for Robots in
Intelligent Environments
Autonomy
Robots have to be capable of achieving task
objectives without human input
Robots have to be able to make and execute their
own decisions based on sensor information
Intuitive Human-Robot Interfaces
Use of robots in smart homes can not require
extensive user training
Commands to robots should be natural for
inhabitants
Adaptation
Robots have to be able to adjust to changes in the
environment
Robots for Intelligent
Environments
Service Robots
Security guard
Delivery
Cleaning
Mowing
Assistance Robots
Mobility
Services for elderly and
People with disabilities
Autonomous Robot Control
To control robots to perform tasks
autonomously a number of tasks have to be
addressed:
Modeling of robot mechanisms
Kinematics, Dynamics
Robot sensor selection
Active and passive proximity sensors
Low-level control of actuators
Closed-loop control
Control architectures
Traditional planning architectures
Behavior-based control architectures
Hybrid architectures
Modeling the Robot Mechanism
Forward kinematics describes how the robots
joint angle configurations translate to locations
in the world
2 (x, y, z)
1
(x, y, )
+ + + + - - - -
Task Plan:
Behavioral
Strategy:
Example Task:
Changing a Light Bulb
https://www.youtube.com/watch?v=xMrk0efv6SE
Hybrid Control Architectures
Advantages
Permits goal-based strategies
Ensures fast reactions to unexpected changes
Reduces complexity of planning
Problems
Choice of behaviors limits range of possible tasks
Behavior interactions have to be well modeled to be
able to form plans
Robot Configurations
Some of the commonly used configurations in Robotics are
75
The Hand of a Robot: End-
Effector
The end-effector (commonly known as
robot hand) mounted on the wrist
enables the robot to perform specified
tasks. Various types of end-effectors are
designed for the same robot to make it
more flexible and versatile. End-
effectors are categorized into two major
types: grippers and tools.
76
The Hand of a Robot: End-
Effector
Grippers are generally used to grasp
and hold an object and place it at a
desired location.
mechanical grippers
vacuum or suction cups
magnetic grippers
adhesive grippers
hooks, scoops, and so forth
77
The Hand of a Robot: End-
Effector
At times, a robot is required to
manipulate a tool to perform an
operation on a workpiece. In such
applications the end-effector is a tool
itself
spot-welding tools
arc-welding tools
spray-painting nozzles
rotating spindles for drilling
rotating spindles for grinding 78
Power Sources for Robots
An important element of a robot is the
drive system. The drive system supplies
the power, which enable the robot to
move.
The dynamic performance of a robot
mainly depends on the type of power
source.
79
There are basically three types of
power sources for robots:
1. Hydraulic drive
Provide fast movements
floor
80
2. Electric drive
Slower movement compare to the
hydraulic robots
Good for small and medium size robots
Cleaner environment
robots
Suitable for relatively less degrees of
freedom design
Suitable for simple pick and place
application
Relatively cheaper
82
Robotics Terminology
84
Robotics Terminology
Accuracy
•The ability of a robot to go to the specified position
without making a mistake.
•It is impossible to position a machine exactly.
•Accuracy is therefore defined as the ability of the
robot to position itself to the desired location with the
minimal error (usually 25 mm).
Repeatability
•The ability of a robot to repeatedly position itself
when asked to perform a task multiple times.
•Accuracy is an absolute concept, repeatability is
relative.
•A robot that is repeatable may not be very accurate,
visa versa.
85
Robot Movement and
Precision
Speed of response and stability are
two important characteristics of robot
movement.
Speed defines how quickly the robot
arm moves from one point to another.
Stability refers to robot motion with
the least amount of oscillation. A good
robot is one that is fast enough but at
the same time has good stability.
86
Robot Movement and
Precision
Speed and stability are often conflicting
goals. However, a good controlling system
can be designed for the robot to facilitate
a good trade-off between the two
parameters.
87
The precision of robot movement is
defined by three basic features:
1. Spatial resolution:
The spatial resolution of a robot is the
smallest increment of movement into
which the robot can divide its work
volume.
It depends on the system’s control
resolution and the robot's mechanical
inaccuracies.
88
2. Accuracy: Accuracy can be defined as the
ability of a robot to position its wrist end at a
desired target point within its reach. In terms
of control resolution, the accuracy can be
defined as one-half of the control resolution.
This definition of accuracy applies in the worst
case when the target point is between two
control points.The reason is that displacements
smaller than one basic control resolution unit
(BCRU) can be neither programmed nor
measured and, on average, they account for
one-half BCRU.
89
The accuracy of a robot is affected by
many factors. For example, when the
arm is fully stretched out, the
mechanical inaccuracies tend to be
larger because the loads tend to cause
deflection.
90
3. Repeatability: It is the ability of the robot
to position the end effector to the
previously positioned location.
A
C + +
+
+ ++
+ + + +
++ B + +
+
+ + + ++
x xx x x
x xx x
xxx
xx
xx
xx x x x x
x x
91
CONTROL METHODS
Non Servo Control
implemented by setting limits or
mechanical stops for each joint and
sequencing the actuation of each joint to
accomplish the cycle
end point robot, limited sequence robot,
bang-bang robot
No control over the motion at the
intermediate points, only end points are
known 92
Programming accomplished by
setting desired sequence of moves
adjusting end stops for each axis accordingly
the sequence of moves is controlled by a
“squencer”, which uses feedback received from
the end stops to index to next step in the program
Low cost and easy to maintain, reliable
relatively high speed
repeatability of up to 0.01 inch
limited flexibility
typically hydraulic, pneumatic drives
Servo Control
Point to point Control
Continuous Path Control
Closed Loop control used to monitor
position, velocity (other variables) of
each joint
Point-to-Point Control
Only the end points are programmed,
the path used to connect the end points
are computed by the controller
user can control velocity, and may
permit linear or piece wise linear motion
Feedback control is used during motion
to ascertain that individual joints have
achieved desired location
Often used hydraulic drives, recent
trend towards servomotors
loads up to 500lb and large reach
Applications
pick and place type operations
palletizing
machine loading
Continuous Path Controlled
in addition to the control over the
endpoints, the path taken by the end
effector can be controlled
Path is controlled by manipulating the
joints throughout the entire motion, via
closed loop control
Applications:
spray painting, polishing, grinding, arc
welding
ROBOT PROGRAMMING
Typically performed using one of the
following
On line
teach pendant
lead through programming
Off line
robot programming languages
task level programming
Use of Teach Pendant
hand held device with switches used to
control the robot motions
End points are recorded in controller
memory
sequentially played back to execute
robot actions
trajectory determined by robot
controller
suited for point to point control
applications
Easy to use, no special programming
skills required
Useful when programming robots for
wide range of repetitive tasks for long
production runs
RAPID
Lead Through Programming
lead the robot physically through the
required sequence of motions
trajectory and endpoints are recorded,
using a sampling routine which records
points at 60-80 times a second
when played back results in a smooth
continuous motion
large memory requirements
Programming Languages
Motivation
need to interface robot control system to
external sensors, to provide “real time”
changes based on sensory equipment
computing based on geometry of
environment
ability to interface with CAD/CAM systems
meaningful task descriptions
off-line programming capability
Large number of robot languages
available
AML, VAL, AL, RAIL, RobotStudio, etc.
(200+)
Each robot manufacturer has their own
robot programming language
No standards exist
Portability of programs virtually non-
existent
How do you measures of
performance of robot?
Speed and acceleration
Resolution
Working volume
Accuracy
Cost
Plus all the kinds of evaluation functions
we have talked about for any AI system.
Measures of Performance
Speed and acceleration
Faster speed often reduces resolution or increases cost
Varies depending on position, load.
Speed can be limited by the task the robot performs (welding,
cutting)
Resolution
Often a speed tradeoff
The smallest movement the robot can make
Working volume
The space within which the robot operates.
Larger volume costs more but can increase the capabilities of a
robot
Tomorrow’s problems
Mechanisms
Morphology: What should robots look like?
Novel actuators/sensors
Estimation and Learning
Reinforcement Learning
Graphical Models
Learning by Demonstration
Manipulation (grasping)
What does the far side of an object look like? How heavy
is it? How hard should it be gripped? How can it rotate?
Regrasping?
And more...
Medical robotics
Autonomous surgery
Eldercare
Biological Robots
Biomimetic robots
Neurobotics
Navigation
Collision avoidance
SLAM/Exploration
Self-X Robots
Self-feeding
Literally
Electrically
Self-replicating
Self-repairing
Self-assembly
Self-organization
Self-reconfiguration
Traditional Human-Robot
Interface: Teleoperation
Remote Teleoperation: Direct
operation of the robot by the
user
User uses a 3-D joystick or an
exoskeleton to drive the robot
Simple to install
Removes user from dangerous areas
Problems:
Requires insight into the mechanism
Can be exhaustive
Easily leads to operation errors
Human-Robot Interaction
Social robots
In care contexts
In home contexts
In industrial contexts
Comprehension
Natural language
Grounded knowledge acquisition
Roomba: “Uh-oh”
Motivations
Robots are getting smaller, cheaper, and more ubiquitous
Humans need to interact with and instruct them, naturally
Language, gesture, demonstration, …
Key requirements:
Language understanding learned from data
Follow instructions in a previously unseen world
Learn to parse natural language into robot-usable commands
Human-Robot Interaction
Social robots
Safety/security
Ubiquitous Robotics
Small, special-purpose robots
More Human-Robot Interaction
How do humans handle it?
Assumptions about retention and understanding
Anthropomorphization
How do robots make it easier?
Apologize vs. back off
Convey intent
Cultural context (implicit vs. explicit
communication)
Human-Robot Interaction in
Intelligent Environments
Personal service robot
Controlled and used by untrained users
Intuitive, easy to use interface
Interface has to “filter” user input
Eliminate dangerous instructions
Find closest possible action
Receive only intermittent commands
Robot requires autonomous capabilities
User commands can be at various levels of complexity
Control system merges instructions and autonomous
operation
Interact with a variety of humans
Humans have to feel “comfortable” around robots
Robots have to communicate intentions in a natural way
Example: Minerva the Tour
Guide Robot (CMU/Bonn)
© MIT AI Lab
http://www.ai.mit.edu/projects/cog/Video/kismet/kismet_face_30fps.mpg
"Social" Robot Interactions
Advantages:
Robots that look human and that show “emotions”
can make interactions more “natural”
Humans tend to focus more attention on people than on
objects
Humans tend to be more forgiving when a mistake is
made if it looks “human”
Robots showing “emotions” can modify the way in
which humans interact with them
Problems:
How can robots determine the right emotion ?
How can “emotions” be expressed by a robot ?
Human-Robot Interfaces for
Intelligent Environments
Robot Interfaces have to be easy to use
Robots have to be controllable by untrained users
Robots have to be able to interact not only with their
owner but also with other people
Robot interfaces have to be usable at the
human’s discretion
Human-robot interaction occurs on an irregular basis
Frequently the robot has to operate autonomously
Whenever user input is provided the robot has to react to it
Interfaces have to be designed human-centric
The role of the robot is it to make the human’s life
easier and more comfortable (it is not just a tech toy)
Adaptation and Learning for
Robots in Smart Homes
Intelligent Environments are non-stationary and
change frequently, requiring robots to adapt
Adaptation to changes in the environment
Learning to address changes in inhabitant preferences
Robots in intelligent environments can frequently
not be pre-programmed
The environment is unknown
The list of tasks that the robot should perform might
not be known beforehand
No proliferation of robots in the home
Different users have different preferences
Adaptation and Learning
In Autonomous Robots
Learning to interpret sensor information
Recognizing objects in the environment is difficult
Sensors provide prohibitively large amounts of data
Programming of all required objects is generally not
possible
Learning new strategies and tasks
New tasks have to be learned on-line in the home
Different inhabitants require new strategies even for
existing tasks
Adaptation of existing control policies
User preferences can change dynamically
Changes in the environment have to be reflected
Learning Approaches for
Robot Systems
Supervised learning by teaching
Robots can learn from direct feedback from the
user that indicates the correct strategy
The robot learns the exact strategy provided by the user
Learning from demonstration (Imitation)
Robots learn by observing a human or a robot
perform the required task
The robot has to be able to “understand” what it observes
and map it onto its own capabilities
Learning by exploration
Robots can learn autonomously by trying different
actions and observing their results
The robot learns a strategy that optimizes reward
Learning Sensory Patterns
Learning to Identify Objects
How can a particular object be
recognized ?
Programming recognition strategies is
difficult because we do not fully
understand how we perform recognition
:
Learning techniques permit the robot
system to form its own recognition
:
strategy
Supervised learning can be used by
:
giving the robot a set of pictures and
the corresponding classification
Chair
Neural networks
Decision trees
Learning Task Strategies by
Experimentation
Autonomous robots have to be able to learn
new tasks even without input from the user
Learning to perform a task in order to optimize the
reward the robot obtains (Reinforcement Learning)
Reward has to be provided either by the user or the
environment
Intermittent user feedback
Generic rewards indicating unsafe or inconvenient actions or
occurrences
The robot has to explore its actions to determine what
their effects are
Actions change the state of the environment
Actions achieve different amounts of reward
During learning the robot has to maintain a level of safety
Example: Reinforcement
Learning in a Hybrid Architecture
Policy Acquisition Layer
Learning tasks without
supervision
Abstract Plan Layer
Learning a system model
Basic state space compression