0% found this document useful (0 votes)
40 views35 pages

Chapter 3 - Part 1 - Mobile Robots & Control

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views35 pages

Chapter 3 - Part 1 - Mobile Robots & Control

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Chapter 3.

Mobile Robots
& Control

Phan Tran Dang Khoa


University of Science and Technology –
The University of Danang
• This chapter discusses how a robot platform moves, that is, how its pose
changes with time as a function of its control inputs.
Contents

3.1 Mobile Robots 3.2 Control


3.1 Wheeled Mobile Robots
• In this section we will create a model for a car-like vehicle, and develop
controllers that can drive the car to a point, along a line, follow an
arbitrary path, and finally, drive to a specific pose.
3.1.1 Mobile robot modeling
• A commonly used model for the low-
speed behavior of a four-wheeled car-
like vehicle is the kinematic bicycle
model.
• The bicycle has a rear wheel fixed to the
body and the plane of the front wheel
rotates about the vertical axis to steer
the vehicle.
• The pose of the vehicle is represented
by its body coordinate frame {B}, which
has its x-axis in the vehicle’s forward
direction and its origin at the center of
the rear axle.
• Bicycle model of a car-like vehicle.
• The 4-wheeled car is shown in light gray,
and the equivalent two-wheeled bicycle
model in dark gray.
• The vehicle’s body frame is shown in red,
and the world coordinate frame in black.
• The steered wheel angle is with respect to
the body frame, and the velocity of the
back wheel, in the body’s x-direction, is 𝑣.
• The two wheel axes are extended as
dashed lines and intersect at the
instantaneous center of rotation (ICR).
• The back and front wheels follow circular
arcs around the ICR of radius 𝑅𝐵 and 𝑅𝐹
respectively.
• The orientation of its x-axis with
respect to the world frame is the
vehicle’s heading angle.
• The configuration of the vehicle is
represented by the generalized
coordinates 𝒒 = 𝑥, 𝑦, 𝜃 ∈ 𝒞 where
𝒞 ⊂ ℝ2 × 𝐒1 is the configuration
space.
• We assume that the velocity of each
wheel is in the plane of the wheel, and
that the wheels roll without skidding
or slipping sideways
• The reference point of the vehicle, the
origin of frame {B}, thus follows a
circular path and its angular velocity is

and by simple geometry the turning radius is

where L is the length of the vehicle or the


wheel base.
• Since 𝑅𝐹 > 𝑅𝐵 , the front wheel must
follow a longer path and therefore rotate
more quickly than the back wheel.
Excurse: Vehicle Coordinate System
Excurse: Ackermann Steering
• The velocity of the robot in the world frame is described by

which are the equations of motion, or the motion model.


- The rate of change of heading 𝜃ሶ is referred to as turn rate, heading
rate, or yaw rate and can be measured by a gyroscope.
- When 𝑣 = 0 , then 𝜃ሶ = 0 : not possible to change the vehicle’s
orientation when it is not moving.
- When the steering angle 𝜓 = 𝜋/2, the vehicle cannot move forward
(undefined region).
• Nonholonomic constraint:
3.1.2 Lane changing
• We can explore the behavior of the vehicle for simple steering input
using the Simulink® model.
Excurse: Running Simulink Models
Excurse: Running Simulink Models (cont’)
3.1.3 Driving to a Point
• Consider the problem of moving toward a goal point (x*, y*) on the xy-
plane.
• We will control the robot’s velocity to be proportional to its distance
from the goal.

and to steer toward the goal, which is at the vehicle-relative angle in the
world frame of
We use the operator since 𝜃 ∗ , 𝜃
are angles, not real numbers, and
• A simple proportional controller the result is always in the interval
−𝜋, 𝜋 .

is sufficient – it turns the steered wheel toward the target.


Excurse: atan vs atan2
• A Simulink model
Vehicle motion to a point from different initial configurations.
Speed and heading angle for
different 𝐾𝑣 and 𝐾ℎ Speed Heading angle

𝐾𝑣 = 0.5, 𝐾ℎ = 2

𝐾𝑣 = 0.5, 𝐾ℎ = 4

𝐾𝑣 = 4, 𝐾ℎ = 2
3.1.4 Driving Along a Line
• Another useful task for a mobile robot is to follow a line on the xy-plane
defined by 𝑎𝑥 + 𝑏𝑦 + 𝑐 = 0.
• We achieve this using two steering controllers.
• The first controller:
turns the robot toward the line to minimize d, the robot’s normal distance
from the line

where d > 0 if the robot is to the right of the line.


• The second controller adjusts the heading angle, or orientation, of the
vehicle to be parallel to the line

using the proportional controller

• The combined control law

turns the steering wheel to drive the robot toward the line and move along
it.
• The Simulink model
Vehicle motion along a line from different initial configurations.
Heading angle and distance from
Heading angle Distance from line
line for different 𝐾𝑑 and 𝐾ℎ

𝐾𝑑 = 0.5, 𝐾ℎ = 1

𝐾𝑑 = 0.5, 𝐾ℎ = 2

𝐾𝑑 = 1, 𝐾ℎ = 1
3.1.5 Driving Along a Path
• Instead of following a straight line, we might wish to follow an arbitrary
path on the xy-plane. The path might come from one of the path
planners.
• A simple and effective algorithm for path following is pure pursuit in
which we move at constant velocity and chase a point that is a constant
distance ahead on the path.
• The path is defined by a set of N points 𝑝𝑖 , 𝑖 = 1, … , 𝑁 and the robot’s
current position is 𝑝𝑟 .
• The first step is to find the index of the point on the path that is closest
to the robot

• Next, we find the first point along the path that is at least a distance d
ahead of that point

and then the robot drives toward the point 𝑝𝑘 .


• This problem is now the same as the one
we tackled in Sect. 3.1.3, moving to a point, except
that this time the point is moving.
• The Simulink model
Trajectory and speed for different
look-ahead distance

𝑑=1

𝑑=5

𝑑 = 10
3.1.6 Driving to a Configuration
• We discuss is driving to a specific configuration 𝑥 ∗ , 𝑦 ∗ , 𝜃 ∗ .
• For tasks like parking, the orientation of the vehicle is important.
• To control the final orientation, we first rewrite the motion model in the
matrix form

where the inputs to the vehicle model are the speed 𝑣 and the turning rate
𝜔 which can be achieved by choosing the steered-wheel angle as
• We then transform the equations into
polar coordinate

• Assume that the goal frame {G} is in


front of the vehicle.

Polar coordinate notation for the bicycle model vehicle


moving toward a goal configuration: 𝜌 is the distance to
the goal, 𝛽 is the angle of the goal vector with respect to
the world frame, and 𝛼 is the angle of the goal vector
with respect to the vehicle frame.
• The linear control law

drives the robot to a unique equilibrium at 𝜌, 𝛼, 𝛽 = 0,0,0 .


• The intuition behind this controller is that the terms 𝐾𝜌 𝜌 and 𝐾𝛼 𝛼 drive
the robot along a line toward {G} while the term 𝐾𝛽 𝛽 rotates the line so
that 𝛽 → 0.
• To implement this in practice, the distance and bearing angle to the goal
𝜌, 𝛼 could be measured by a camera or lidar, and the angle 𝛽 could be
derived from 𝛼 and vehicle heading 𝜃 as measured by a compass.
• To move the robot to an arbitrary configuration 𝑥 ∗ , 𝑦 ∗ , 𝜃 ∗ , we perform
a change of coordinates
• The Simulink model
Vehicle motion to a configuration from different initial configurations.

You might also like