Making a robot move

Making a robot move
Ville Kyrki
Lappeenranta University of Technology
Finland
How to make a robot move?
●
●
Questions to answer:
–
What path do you want the robot to follow?
–
How can you make the robot follow that path?
What path?
–
●
Path planning and trajectory planning
How to follow?
–
Robot control
Path planning
●
●
Path planning problem: Find a collision free
path for the robot from one configuration to
another configuration
Difficult search problem
–
●
Exponential complexity with respect to the degrees
of freedom (controllable joints)
Path planning is not usually solved by computer
with industrial robots as human operators plan
the paths
Trajectory planning
●
Planned path is typically represented by viapoints
–
●
●
via-points = sequence of points (or end-effector
poses) along the path
Trajectory planning = planning a trajectory
connecting two or more via points
In industrial settings, teaching often done by
teach-and-playback
Free vs guarded motions
●
Motion can often be decomposed into free and
guarded motions
–
free motion = no obstacles near, fast motion, small
inaccuracies allowed
–
guarded motion = obstacles near, accurate motion
FREE
GUARDED
GUARDED
Point-to-point motion
●
Simplest type, two points used at a time
●
Linear trajectories common
●
●
●
For free motions, linear trajectories in joint
space (fast)
For guarded motions, linear trajectories in
Cartesian space
Linear segments with parabolic blends (LSPB)
= Linear segments with acceleration and
velocity constraints
Joint space vs Cartesian space
●
●
●
●
Free motions: often linear in joint space
IMPORTANT: Linear joint space trajectory is not
linear in Cartesian space!
Thus, if linear Cartesian motion is desired
(guarded motions), the linear trajectory needs
to be defined in the Cartesian space
Inverse kinematics are needed to convert this
to joint space, as robot is controlled in the joint
space
Joint control
●
●
●
Control problem: Determine joint inputs to
execute a desired motion
Joint inputs can be e.g. forces/torques or
currents of motors
Robot (physical) models are necessary
trajectory
position
Controller
Robot
Open-loop control
●
Open-loop control (see previous slide):
–
No feedback from the system is available
–
Can not reject external disturbances
–
Rely on accurately known model
disturbance
trajectory
Controller
+
position
Robot
Closed-loop control
●
Sensor feedback is available
–
●
●
Most typically the current joint angles are measured
Error between reference and measured is
controlled to zero
Simple example:
disturbance
trajectory
Controller
+
-
Sensor
position
Robot
Basic ideas of feedback control
●
1-D cart controlled by external force
m ẍ b ẋ =u
mass
●
damping
force
Proportional-derivative (PD) control
u=kp ekd ė
e=x r −x
will drive the above system to desired xr
●
Good controller gains k can be calculated if
system parameters are known
small gain
large gain
Disturbance rejection
●
External (not modeled) disturbance may affect
the system
m ẍ b ẋ d=u
mass
damping
force
disturbance
u=kp ekd ėki ∫ e dt
Further issues
●
Control in Cartesian vs joint space
–
●
Jacobian (invertible) can be used for performing
control in Cartesian space
Robot is a nonlinear system
M q q̈C q , q̇  q̇G q=F
●
Feedback linearization
Summary
●
●
Do your trajectory planning, do not control
directly by via-points!
Physical models are needed for accurate
motion control