Title: John (Jizhong) Xiao
1Mobile Robot Control
G3300 Advanced Mobile Robotics
- John (Jizhong) Xiao
- Department of Electrical Engineering
- City College of New York
- jxiao_at_ccny.cuny.edu
2Content
- Mobot Kinematics
- Kinematic Motion Control
- Virtual Vehicle Approach
- Homework
3Kinematics of Mobile Robots
- Locomotion is the process of causing an
autonomous robot to move. - In order to produce motion, forces must be
applied to the vehicle - Dynamics the study of motion in which these
forces are modeled - Includes the energies and speeds associated with
these motions - Kinematics study of the mathematics of motion
without considering the forces that affect the
motion. - Deals with the geometric relationships that
govern the system - Deals with the relationship between control
parameters and the behavior of a system in state
space.
4Kinematics Model
5Differential Drive
Posture Kinematics Model Kinematics model in
world frame
- Relation between the control input and speed of
wheels
Physical Meaning?
6Differential Drive
Kinematics model in robot frame ---configuration
kinematics model
7Differential drive
w(t)
V(t)
Kinematics
VL
L
VR
w ( vR - vL ) / L
ICC
R L ( vR vL ) / ( vR - vL )
R(t)
v wR ( vR vL ) / 2
robots turning radius
8Inverse Kinematics
Given a desired position or velocity, what can we
do to achieve it?
Key question
y
x
VL (t)
VR(t)
starting position
final position
9Inverse Kinematics
Given a desired position or velocity, what can we
do to achieve it?
Key question
y
x
VL (t)
VR(t)
starting position
final position
world information ? wheel information
10Inverse Kinematics
Given a desired position or velocity, what can we
do to achieve it?
Key question
y
x
VL (t)
VR(t)
starting position
final position
11Inverse Kinematics
Given a desired position or velocity, what can we
do to achieve it?
Key question
y
x
VL (t)
VR(t)
starting position
final position
12Inverse Kinematics
Given a desired position or velocity, what can we
do to achieve it?
Key question
y
Need to solve these equations
x
VL (t)
VR(t)
starting position
final position
for VL (t) and VR(t) .
There are lots of solutions...
13Inverse Kinematics
Given a desired position or velocity, what can we
do to achieve it?
Key question
y
Finding some solution is not hard, but finding
the best solution is...
x
VL (t)
VR(t)
starting position
final position
It all depends on who gets to define best...
14Inverse Kinematics
Given a desired position or velocity, what can we
do to achieve it?
Key question
y
Finding some solution is not hard, but finding
the best solution is...
- quickest time
- most energy efficient
- smoothest velocity profiles
x
VL (t)
VR(t)
starting position
final position
VL (t)
t
VL (t)
It all depends on who gets to define best...
15Inverse Kinematics
Usual approach decompose the problem and
control only a few DOF at a time
Differential Drive
y
x
VL (t)
VR(t)
starting position
final position
16Inverse Kinematics
Usual approach decompose the problem and
control only a few DOF at a time
Differential Drive
(1) turn so that the wheels are parallel to the
line between the original and final position of
the robot origin.
y
-VL (t) VR (t) Vmax
x
VL (t)
VR(t)
starting position
final position
17Inverse Kinematics
Usual approach decompose the problem and
control only a few DOF at a time
Differential Drive
(1) turn so that the wheels are parallel to the
line between the original and final position of
the robot origin.
y
-VL (t) VR (t) Vmax
(2) drive straight until the robots origin
coincides with the destination
x
VL (t)
VL (t) VR (t) Vmax
VR(t)
starting position
final position
18Inverse Kinematics
Usual approach decompose the problem and
control only a few DOF at a time
(1) turn so that the wheels are parallel to the
line between the original and final position of
the robot origin.
Differential Drive
-VL (t) VR (t) Vmax
y
(2) drive straight until the robots origin
coincides with the destination
VL (t) VR (t) Vmax
(3) rotate again in order to achieve the desired
final orientation
x
VL (t)
VR(t)
-VL (t) VR (t) Vmax
VL (t)
starting position
final position
t
VR (t)
only 2 settings (on and off) needed
19Motion Control
- The objective of a kinematic controller is to
follow a trajectory described by its position
and/or velocity profiles as function of time. - Motion control is not straight forward because
mobile robots are nonholonomic systems. - However, it has been studied by various research
groups and some adequate solutions for
(kinematic) motion control of a mobile robot
system are available. - Most controllers are not considering the dynamics
of the system
20Open Loop Control
- Trajectory (path) divided in motion segments of
clearly defined shape - straight lines and segments of a circle.
- Control problem
- pre-compute a smooth trajectory based on line and
circle segments - Disadvantages
- It is not at all an easy task to pre compute a
feasible trajectory - limitations and constraints of the robots
velocities and accelerations - does not adapt or correct the trajectory if
dynamical changes of the environment occur. - The resulting trajectories are usually not smooth
21Feedback Control
Compute the error and change in proportion to it.
22Motion Control Methods
- Virtual Vehicle Approach
- Curvature Steering Method
- Flatness Approach
- Dynamic Path Following
-
23A Virtual Vehicle Approach
Read paper Control of mobile platforms using a
virtual vehicle approach Egerstedt, M. Hu, X.
Stotsky, A., IEEE Transactions on Automatic
Control, Volume 46, Issue 11, pp 1777-1782,
2001.
24A Virtual Vehicle Approach
- The robot model
- The control objective
25A Virtual Vehicle Approach
26A Virtual Vehicle Approach
27A Virtual Vehicle Approach
- Orientation of the vehicle
28A Virtual Vehicle Approach
29Homework 3
- Consider a differential drive mobile robot and
write a short article (56 pages) which includes
at least the following information - The derivation of the kinematics model of the
mobile robot - Include all the details, e.g., what are the
assumptions for the kinematics model? What is the
constraint for the kinematics model? What are the
coordinate systems? - The development of a motion control algorithm for
path tracking (virtual vehicle or others) - The simulation/experimental results for your
algorithms with discussions - Include the simulation results for at least two
paths a circle and a sinusoidal wave. Please
vary your parameters and compare your results.
30Homework 3
- The format of the short article shall follow the
IEEE paper standard as follows - Title
- Author with affiliation
- Abstract
- Introduction
- Kinematics Model
- Path Tracking Control
- Simulation and Discussion
- Conclusions
- Reference
31Thank you!
Homework 3 posted Next class Feb. 20, 2007