EC7010
Robotics and Automation
Dr. Lilantha Samaranayake
Department of Electrical & Electronic Engineering
Faculty of Engineering
University of Peradeniya
[email protected], +94812393426
Course contents
Introduction to Autonomous Robots (1h)
Current and Future Trends in Robotics (2h)
Motors and Motor Control Techniques (4h)
Sensors and Actuators (4h)
Autonomous Mobile Robots and Robot Intelligence (4h)
Robot Control Board
Pneumatic and Hydraulic Control Systems
Machine Vision Dr. Parakrama Ekanayake
Programmable Logic Controllers
Robot Design Mini Project
References
Introduction to Autonomous Robots
Motivation
Intelligent Environments are aimed at improving the inhabitants’
experience and task performance
Automate functions in the home
Provide services to the inhabitants
Decisions coming from the decision maker(s) in the environment have
to be executed.
Decisions require actions to be performed on devices
Decisions are frequently not elementary device interactions but
rather relatively complex commands
Decisions define set points or results that have to be achieved
Decisions can require entire tasks to be performed
Automation and Robotics in Intelligent
Environments
Control of the physical environment
Automated blinds
Thermostats and heating ducts
Automatic doors
Automatic room partitioning
Personal service robots
House cleaning
Lawn mowing
Assistance to the elderly and handicapped
Office assistants
Security services
Robotics in general
Historical perspective
The acclaimed Czech playwright Karel Capek (1890-
1938) made the first use of the word ‘robot’, from the
Czech word for forced labor or serf.
The use of the word Robot was introduced into his play
R.U.R. (Rossum's Universal Robots) which opened in
Prague in January 1921. In R.U.R., Capek poses a
paradise, where the machines initially bring so many
benefits but in the end bring an equal amount of blight
in the form of unemployment and social unrest.
Science fiction
Asimov, among others glorified the term ‘robotics’,
particularly in I, Robot, and early films such as
Metropolis (1927) paired robots with a dystopic society
Formal definition (Robot Institute of America):
"A reprogrammable, multifunctional manipulator designed to
move material, parts, tools, or specialized devices through
various programmed motions for the performance of a variety
of tasks".
Robots in everyday use and popular culture
http://www.robotshop.com/robotic-trends.aspx
Common applications
Industrial
Robotic assembly
Commercial
Household chores
Military
Medical
Robot-assisted surgery
da Vinci surgical system
Common applications
Planetary Exploration
Mars rover
Undersea exploration
Suggested insertion:
image of Mars rover
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
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
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, )
Inverse kinematics computes the joint angle
configuration necessary to reach a particular point in
space.
Jacobians calculate how the speed and configuration
of the actuators translate into velocity of the robot
Modeling:
Coordinate frames & forward kinematics
• Three coordinate frames: 0 1 2
• ‘0’ is the base frame (world frame), ‘2’ is the tool frame
• Positions:
2
[ ][
x1
y1
a cos (θ1 )
= 1
a1 sin (θ 1 ) ]
[ ][
x2
y2
a cos (θ 1 )+ a 2 cos (θ1 + θ 2 )
= 1
a 1 sin (θ1 )+ a2 sin (θ 1 + θ 2 ) ][]
≡ x
y t 0 1
• Orientation of the tool frame:
R20 = xˆ2 xˆ0 yˆ 2 xˆ0 = cos(θ1 + θ2 ) sin (θ1 + θ2 )
xˆ2 yˆ 0 yˆ 2 yˆ 0 sin (θ1 + θ2 ) cos(θ1 + θ2 )
Modeling:
Inverse kinematics
• Find the joint angles for a desired tool position
xt2 + yt2 a12 a22
cos(θ2 ) = D sin(θ2 ) = ± 1 D 2
2a1a2
1 D2 1 y 1 a2sin(θ2 )
1
θ2 = tan ± θ = tan tan
D
1
x a1 + a2 cos(θ2 )
• Two solutions!: elbow up and elbow down
Modeling:
Velocity kinematics: the Jacobian (J)
State space includes velocity
x a1 sin 11 a2 sin 1 2 1 2
y a cos a cos
1 1 1 2 1 2 1 2
x a1 sin 1 a2 sin 1 2 a2 sin 1 2 1
y a cos a cos a cos
1 1 2 1 2 2 1 2 2
x J
t
x 1
xt ,
y 2
Inverse of Jacobian gives the joint velocities:
J 1 xt
1 1 a2 cos1 2 a2 sin 1 2 x
a cos a cos a sin a sin y
2 a1a2 sin 2 1 1 2 1 2 1 1 2 1 2
This inverse does not exist when 2 = 0 or , called
singular configuration or singularity
Modeling:
Singular configurations
Manipulator end-effector cannot move in certain directions.
In the above cases the end effector cannot move in the positive x2 direction
when 2 = 0.
Related to the nonuniqueness of solutions of the inverse kinematics., i.e.,
given end-effector position, there are in general two possible solutions to
the inverse kinematics.
Separates the two solutions in the sense that the manipulator cannot go
from one configuration to the other without passing through a singularity.
For many applications it is important to plan manipulator motions in such a
way that singular configurations are avoided.
Mobile Robot Odometry
In mobile robots the same configuration in terms of joint
angles does not identify a unique location
To keep track of the robot it is necessary to
incrementally update the location (this process is
called odometry or dead reckoning)
t t t
x x vx
y y v y t
Example: A differential drive robot
r (L R ) r (L R ) L R
v x cos( ) , v y sin( )
2 2 (x, y, )
r
L R
d
Actuator Control
To get a particular robot actuator to a particular
location it is important to apply the correct amount of
force or torque to it.
Requires knowledge of the dynamics of the robot
Mass, inertia, friction
For a simplistic mobile robot: F = m a + B v
Frequently actuators are treated as if they were
independent (i.e. as if moving one joint would not
affect any of the other joints).
The most common control approach is PD-control
(proportional, differential control)
For the simplistic mobile robot moving in the x
direction:
F KP xdesired xactual KD vdesired vactual
Robot Navigation
Path planning addresses the task of computing a
trajectory for the robot such that it reaches the
desired goal without colliding with obstacles
Optimal paths are hard to compute in particular for
robots that can not move in arbitrary directions
(i.e. nonholonomic robots)
Shortest distance paths can be dangerous since they
always graze obstacles
Paths for robot arms have to take into account the
entire robot (not only the end-effector)
Sensor-Driven Robot Control
To accurately achieve a task in an intelligent
environment, a robot has to be able to react
dynamically to changes on its surrounding
Robots need sensors to perceive the environment
Most robots use a set of different sensors
Different sensors serve different purposes
Information from sensors has to be integrated into the
control of the robot