1 BEST2015 — Autonomous Mobile Robots Lecture 2: Mobile Robot Kinematics and Control Renaud Ronsse [email protected]École polytechnique de Louvain, UCLouvain July 2015 2 Introduction Mobile robot and manipulator arm characteristics Arm is fixed to the ground and usually comprised of a single chain of actuated links. Mobile robot motion is defined through rolling and sliding constraints taking effect at the wheel-ground contact points. robot arm ride – Youtube PR2 Robot Fetches Beer from the Refrigerator – Youtube
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
BEST2015 — Autonomous Mobile RobotsLecture 2: Mobile Robot Kinematics and Control
Arm is fixed to the ground and usually comprised of a singlechain of actuated links.
Mobile robot motion is defined through rolling and slidingconstraints taking effect at the wheel-ground contact points.
robot arm ride – Youtube PR2 Robot Fetches Beer from theRefrigerator – Youtube
3
Introduction
Kinematics is the subfield of Mechanics which deals withmotions of bodies.
Industrial vs. Mobile Robot Kinematics:
Both are concerned with forward and inverse kinematicsHowever, for mobile robots, encoder values don’t map tounique robot posesMobile robots can move unbound with respect to theirenvironmentThere is no direct (=instantaneous) way to measure therobot’s positionPosition must be integrated over time, depends on path takenLeads to inaccuracies of the position (motion) estimateUnderstanding mobile robot motion starts with understandingwheel constraints placed on the robot’s mobilityUsually, mobile robots are less limited by dynamics thanmanipulators, except maybe to limit the turning radius.
4
Non-Holonomic Systems
Differential equations are not integrable to the final position.
Measuring the traveled distance of each wheel is not sufficientto calculate the final position of the robot. One has also toknow how this movement was executed as a function of time.
The velocity function v(t) is said to be integrable (holonomic)if there exists a trajectory function s(t) that can be describedby the values of x, y, and θ only: s = s(x, y, θ).
This is the case if:
∂2s
∂x∂y=
∂2s
∂y∂x;
∂2s
∂x∂θ=
∂2s
∂θ∂x;
∂2s
∂y∂θ=
∂2s
∂θ∂y
Condition for s to be integrable function.
6
Non-Holonomic Systems
The trajectory of a holonomic robot can be described as s = s(x, y, θ),i.e.:
ds =∂s
∂xdx +
∂s
∂ydy +
∂s
∂θdθ
Is this compatible with the differential-drive robot equation?
ds = dx cos θ + dy sin θ
Yes, if
⇒∂s
∂x= cos θ ;
∂s
∂y= sin θ ;
∂s
∂θ= 0
Homonomic?
∂2s
∂x∂y= 0 =
∂2s
∂y∂x;
∂2s
∂x∂θ= 0Ó=
∂2s
∂θ∂x= − sin θ ;
∂2s
∂y∂θ= 0Ó=
∂2s
∂θ∂y= cos θ
These two conditions cannot be simultaneously satisfied
→ a differential-drive robot is not holonomic!
7
1 Introduction
2 Kinematic Models
3 Kinematic Constraints
4 Mobile Robot Maneuverability
5 Mobile Robot Workspace
6 Motion Control
7 References
8
Forward and Inverse Kinematics
Forward kinematics: Transformation from joint- to physicalspace.
Inverse kinematics: Transformation from physical- to jointspace ⇒ Required for motion control.
Due to nonholonomic constraints in mobile robotics, we deal withdifferential (inverse) kinematics
Transformation between velocities instead of positions
9
Differential Kinematics Model
Goal: establish the robot speed ξ =[
x, y, θ]T
as a function of the
wheel speeds ϕi, steering angles βi, steering speeds βi and thegeometric parameters of the robot (configuration coordinates).
No sliding constraint → free rotation of the small rollers:
[cos (α + β+γ) sin (α + β+γ) l sin (β+γ)
]R(θ)ξI−rϕ sin γ − rswϕsw = 0
By setting the value of ϕsw, any lateral movement can be reached(omnidirectional). γ = 0 ensures full decoupling of the equationconstraints, but causes some mechanical issues. . .
21
5- Spherical Wheel
No principal axis ofrotation.
No constraints on therobot chassiskinematics(omnidirectional).
Rolling constraint → roll rate ϕ in the direction of motion:[
sin (α + β) − cos (α + β) −l cos (β)]
R(θ)ξI − rϕ = 0
No sliding constraint → no orthogonal wheel rotation (bydefinition):
[
cos (α + β) sin (α + β) l sin (β)]
R(θ)ξI = 0
In this case, β is a free variable deduced from the second equation.It can be discontinuous. . .
22
Kinematic Constraints of the Complete Robot
In sum, each wheel imposes zero or more constraints on the robot motion.Actually, only fixed and steerable standard wheels impose constraints.Suppose a robot with M wheels including N = Nf + Ns standard wheels.Matrix form of the constraint equations:
Rolling:J1(βs)R(θ)ξI − J2ϕ = 0
with ϕ(t) =
[ϕf (t)ϕs(t)
]
(N × 1), J1(βs) =
[J1f
J1s(βs)
]
(N × 3)
and J2 = diag(r1, . . . , rN ) (N × N).
Lateral movement (no slidding):
C1(βs)R(θ)ξI = 0
with C1(βs) =
[C1f
C1s(βs)
]
(N × 3).
This last constraint has the most significant impact on the robotmaneuverability.
The maneuverability of a mobile robot is the combination:
of the mobility available based on the sliding constraints
and additional freedom contributed by steering
Three wheels are sufficient for static stability:
additional wheels need to be synchronized
this is also the case for some arrangements with three wheels
Maneuverability can be derived using the previous equations(mainly C1(βs)R(θ)ξI = 0):
Degree of mobility δm
Degree of steerability δs
Robots maneuverability δM = δm + δs
27
Degree of Mobility δm
To avoid any lateral slip the motion vector has to satisfy the
constraint C1(βs)R(θ)ξI = 0, with C1(βs) =
[
C1f
C1s(βs)
]
.
Mathematically, R(θ)ξI must belong to the null space of theprojection matrix C1(βs).The null space of C1(βs) is the space N such that for any vector nin N:
C1(βs)n = 0
Geometrically this can be shown by the Instantaneous Center ofRotation (ICR).
28
Instantaneous Center of RotationCar-like Ackerman steering:
The robot mobility is a function of the number of constraints onthe robot’s motion, not the number of wheels!
29
Degree of Mobility δm
The robot chassis kinematics is a function of the set ofindependent constraints: the larger the rank of C1(βs), the moreconstrained is the mobility. Mathematically:
δm = dim N[C1(βs)] = 3 − rank [C1(βs)]
No standard wheels: rank [C1(βs)] = 0 → δm = 3.
All direction constrained: rank [C1(βs)] = 3 → δm = 0.
Examples:
Unicycle: One single fixed standard wheel
Differential drive: Two fixed standard wheels (on same axle?on different axle?)
Bicycle
30
Degree of Steerability δs
Indirect degree of motion: after steering, the robot change its poseonly after a movement.
δs = rank [C1s(βs)]
There is a compromise between δm and δs!
The particular orientation at any instant imposes a kinematicconstraint
However, the ability to change that orientation can leadadditional degree of maneuverability
0 ≤ δs ≤ 2
Examples:
one steered wheel: Tricycle
two steered wheels: No fixed standard wheel Nf = 0 (ICR canbe placed anywhere in the plane)
car (Ackermann steering): Nf = 2, Ns = 2 → common axle
31
Robot ManeuverabilityDegree of Maneuverability:
δM = δm + δs
It includes both the degrees of freedom that the robot manipulatesdirectly through wheel velocity and the degrees of freedom that itindirectly manipulates by changing the steering configuration and moving.Two robots with same δM are not necessary equal. Example:
The objective of a kinematic controller is to follow a trajectorydescribed by its position and/or velocity profiles as function oftime.
Motion control is not straightforward because mobile robotsare typically non-holonomic and MIMO systems.
Most controllers are neglecting the dynamics of the system.
Usually, we separate between:
High- (or middle-) level controller: computes the desiredwheels velocity from the point where you want to go, or thepotential field force, etc.Low-level controller: computes the actuator control (voltage)from the desired and actual velocity.
42
Open Loop ControlTrajectory (path) divided in motion seg-ments of clearly defined shape.Control problem:
pre-compute a smooth trajectorybased on line, circle (and clothoid)segments
not taking the robot’s actual positioninto account
Let α denote the angle be-tween the XR axis of therobots reference frame and ρthe vector connecting the cen-ter of the axle of the wheelswith the final position.
45
Kinematic Position Control: Coordinates Transformation
Coordinates transformationinto polar coordinates withorigin at goal position:
ρ =√
∆x2 +∆y2
α = −θ + arctan2 (∆y,∆x)
β = −θ − α
System description, in the new polar coordinates:
[ρ
α
β
]
=
[− cos α 0
sin αρ
−1− sin α
ρ0
][
v(t)ω(t)
]
;
if α ∈ I1 =(
−π2
, π2
].
[ρ
α
β
]
=
[cos α 0
− sin αρ
−1sin α
ρ0
][
v(t)ω(t)
]
if α ∈ I2 =(
−π, −π2
]∪
(π2
, π].
46
Kinematic Position Control: Remarks
The coordinates transformation is not defined at x = y = 0;
For α ∈ I1, the forward direction of the robot points towardthe goal, for α ∈ I2, it is the backward direction.
By properly defining the forward direction of the robot at itsinitial configuration, it is always possible to have α ∈ I1 att = 0. However this does not mean that α remains in I1 forall time t.
47
Kinematic Position Control: The Control LawBy using v(t) = kρρ(t) and ω(t) = kαα(t) + kββ(t), theclosed-loop system becomes:
ρα
β
=
−kρρ cos αkρ sin α − kαα − kββ
−kρ sin α
has a unique equilibrium point at (ρ, α, β) = (0, 0, 0).The control signal v has always constant sign, positive ifα(0) ∈ I1, negative otherwise:
the direction of movement is kept positive or negative duringmovement;
parking maneuver is performed always in the most natural wayand without ever inverting its motion.
The closed loop control system is locally exponentially stable if
kρ > 0, kβ < 0, kα − kρ > 0
48
Kinematic Position Control: Resulting Path
The goal is in the center and the initial position on the circle:
Caveat: PI controllers are prone to make the system unstable, alsobecause of non-linear effects like saturations (due to physical limitson the maximum torque, can be improved by using anti-windup)and neglected dynamics (joint flexibility, electrical time constant,etc.).
58
Summary
Mobile robot motion is defined through rolling and slidingconstraints;
wheel kinematic constraints require pure rolling and no slidingconditions;
due to nonholonomic constraints in mobile robotics,differential (inverse) kinematics is required instead of positionkinematics;
only fixed and steerable standard wheels impose constraintson the robot motion (non-holonomic constraints);
holonomic robots have only holonomic kinematic constraintswhich can be expressed as an explicit function of positionvariables only
59
Summary
the maneuverability of a mobile robot is the combination ofthe mobility available based on the sliding constraints (δm)and additional freedom contributed by steering (δs);
an omnidirectional robot is a holonomic robot with DDOF =3;
a simple control law in polar coordinates is locallyexponentially stable and reaches the goal with a desiredorientation (maneuver).
P and PI controllers are fundamental blocks for achievinglow-level velocity control. The integral term is necessary tocancel the static error.
60
References
Autonomous Mobile Robots (2nd Edition)Siegwart et al.; The MIT Press, 2011http://www.mobilerobots.ethz.ch/
Chapter 3
Robot Modeling and ControlSpong et al.; Wiley, 2006Chapters 6 and 8