Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
CY
02
CFI
C
MOBILE & SERVICEROBOTICS
CFI
DV
ROBOTICS
CA
–0
1
Kinematics
OB
OTI
C
Basilio Bona
RO
DAUIN – Politecnico di Torino
Basilio Bona – DAUIN – Politecnico di Torino 001/1
KinematicsC
Y0
2C
FIC
CFI
DV
C
A –
01
OB
OTI
CR
O
Basilio Bona – DAUIN – Politecnico di Torino 001/2
Instantaneous Curvature Centre (ICC)C
Y0
2C
FIC
ICC
CFI
DV
?
CA
–0
1O
BO
TIC
RO
no slippage occursh l li
Basilio Bona – DAUIN – Politecnico di Torino 001/3
some wheel slips
ICCC
Y
If an ICC exists, the wheel motion occurs without slippage
02
CFI
CC
FID
V
CA
–0
1O
BO
TIC
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/4
ICCC
Y
If an ICC does not exist, the wheel motion occurs with slippage
02
CFI
CC
FID
V
CA
–0
1O
BO
TIC
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/5
the steering angle is the one between the velocity vector and the
Kinematics
( )tβ
CY
the steering angle is the one between the velocity vector and the steered wheel direction
is equivalent to the angle between the normal to the velocity vector
( )tβ
02
CFI
C is equivalent to the angle between the normal to the velocity vector and the steered wheel rotation axis
we indicate with robot pose the position and the orientation (with
CFI
DV
respect to some give inertial axis)
CA
–0
1
( )( )t x y θ=pT
OB
OTI
C ( )
0
( )
0
0
c sθ θ⎛ ⎞− ⎟⎜ ⎟⎜ ⎟⎜ ⎟RR
O 0 0
0 0 1m
s cθ θ⎜ ⎟= ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
R
Basilio Bona – DAUIN – Politecnico di Torino 001/6
⎝ ⎠
KinematicsC
Y
wj
R
02
CFI
C
αδw
WR
CFI
DV
d wωr
j wi
CA
–0
1
ωα
rϕ=v
ir
Ry
OB
OTI
C
rω
ri
RO
0R x
Basilio Bona – DAUIN – Politecnico di Torino 001/7
Kinematics – Fixed wheel
The kinematic model represents a rover
CY
The kinematic model represents a rover frame with a generic active non-steering wheel, located at a given position, with a local orientation
,α δ
( )T
02
CFI
C
The kinematic equations describe the relations and constraints between the
h l l l it d th l
( )0dc dsα α=d
given constants
CFI
DV
wheel angular velocity and the angular velocity of the frame around its rotation axis
given constants
CA
–0
1
( )T0
x yv v=vLinear velocity of the wheel
at the contact point with the plane
OB
OTI
C
( )T0
w wx wyω ω=ω
p
Angular velocity of the wheel
RO
( )
( )T
0 0 ω=ωAngular velocity of the robot
Basilio Bona – DAUIN – Politecnico di Torino 001/8
( )r rzg y
Vincoli cinematici
Hypothesis Constraints:
CY
Hypothesis
θ=ω
Constraints:The tangential velocity at the wheel contact point, due to the rover rotation around its center, must be equal to the advance
l f h h l d l
02
CFI
C r
w
θ
ϕ=
ω
ωvelotity of the wheel, to avoid slippage.
CFI
DV
rϕ=v
CA
–0
1 In the wheel reference frame we have
( )T
T
OB
OTI
C ( )( )
T
T
0 0 1
0 1 0
mθ
ϕ
=
=
ω
ω
RO ( )
( )T
0 1 0
1 0 0
r
r
ϕ
ϕ
=
=v
ω
Basilio Bona – DAUIN – Politecnico di Torino 001/9
( )
Differential Drive RoverC
Y
Left wheel, active, non steering
02
CFI
C
Passive support
CFI
DV
Passive support(castor, omniwheel)
CA
–0
1O
BO
TIC
RO
Right wheel, active, non steering
Basilio Bona – DAUIN – Politecnico di Torino 001/10
g g
Differential Drive RoverC
Y
j
02
CFI
C
rj
Left wheel
CFI
DV
rk2
CA
–0
1
rir
2
OB
OTI
C
r
Right wheel
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/11
Differential Drive KinematicsC
Y ( )tθ
ICC
02
CFI
C ( )tθ
( )
CFI
DV
( )tvrR
CA
–0
1
( )tv
OB
OTI
CR
O ( )rtv
Basilio Bona – DAUIN – Politecnico di Torino 001/12
0R
Differential Drive KinematicsC
Y0
2C
FIC
( )tv( )θ
CFI
DV
( )tθICC
CA
–0
1
( )tv( )tv
OB
OTI
C ( )rtv
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/13
0R
Differential Drive KinematicsC
Y
ICCConsider the generic time instant
02
CFI
C ICCiC
CFI
DV
vρ
CA
–0
1
rv
viρ
OB
OTI
CR
O
Basilio Bona – DAUIN – Politecnico di Torino 001/14
Differential Drive KinematicsC
Y vrv
v
02
CFI
C
rRafterC
CFI
DV
afteriC
CA
–0
1 vv
r>v v
>v v
Turn left
Turn right
OB
OTI
C
Rrv
r>v v Turn right
RO r
Rbefore
Basilio Bona – DAUIN – Politecnico di Torino 001/15
Differential Drive KinematicsC
Y0
2C
FIC
C
CFI
DV
tδθ
iC
CA
–0
1 t
OB
OTI
C
θ
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/16
Differential Drive KinematicsC
Y
kδθ
02
CFI
C
ikC
kθ
kδθ
ik rkρ− j k
CFI
DV
1k+tk
CA
–0
1
0j ik
c
ik kρ j k
θ
OB
OTI
C
0
ik rkρ j k
RO
0i
0rkt
0R
Basilio Bona – DAUIN – Politecnico di Torino 001/17
00
Differential Drive KinematicsC
Y
A
ikC
02
CFI
C
B
AB = tk
δθ
CFI
DV
B
ks
CA
–0
1
ks
A s
OB
OTI
C A 2k
δθ rks
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/18
Differential Drive KinematicsC
Y
sinICC
cosxk k k k
k
C x
C y
ρ θρ θ
⎡ ⎤ ⎡ ⎤−⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥+⎢ ⎥ ⎢ ⎥
02
CFI
C cosyk k k kC y ρ θ+⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦
v v s s
CFI
DV
;rk k rk kk k
v v s s
v v
ω δθ− −
= =
+
CA
–0
1
( / 2)
( / )k k rk
vω ρ + =2( )
rk kk
v vv
+=
+
OB
OTI
C ( / 2)k k k
vω ρ − =( )
2 ( )k rk k
kk rk k
v v v
v vρ
ω+
= =−
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/19
Differential Drive Kinematics
t t
CY 0 0
( ) cos ( ) ( ) d ; ( ) sin ( ) ( ) d ;t t
x t v y t vθ τ τ τ θ τ τ τ= =∫ ∫
02
CFI
C 0 0
( ) ( ) dt
tθ ω τ τ= ∫
CFI
DV
Approximation when sampling period is small 0∫
CA
–0
1
1
ddk k k k k
Tt
ω θ ω θ θ δθ+= ⇒ −
OB
OTI
C dt
1cos( ) sin( ) 0
k k k k xk xkx x C Cδθ δθ+⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤− −⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥R
O
1sin( ) cos( ) 0
0 0 1k k k k yk yky y C Cδθ δθθ θ δθ
+⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − +⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Basilio Bona – DAUIN – Politecnico di TorinoAA 2007/08 001/20
10 0 1
k k kθ θ δθ+⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Mecanum WheelsC
Y0
2C
FIC
CFI
DV
0 1 2 3( ) / 4
( ) / 4yv v v v v
v v v v v
= + + += +
CA
–0
1 0 1 2 3
0 1 2 3
( ) / 4
( ) / 4xv v v v v
v v v v vθ
= − + −= + − −
OB
OTI
C
0 1 2 3( ) / 4
errorv v v v v= − − +
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/21
OdometryC
Y
Odometry is the estimation of how the individual wheel motions produce a change in the robot pose. In the ideal robot there are two geometric contact points between wheels and ground In real robots
02
CFI
C geometric contact points, between wheels and ground. In real robots the wheels are several centimeters wide and the actual contact points are undefined.
CFI
DV
Odometric errors increase with the distance covered, and are determined by many causes
I f t k l d f th h l t
CA
–0
1 Imperfect knowledge of the wheels geometry
Imperfect contact point
OB
OTI
C Slippage
Errors can be compensated sensing the environment around the robot and comparing it with known data (maps etc )R
O and comparing it with known data (maps, etc.)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2007/08 001/22
Odometry ErrorsC
Y0
2C
FIC
CFI
DV
C
A –
01
OB
OTI
CR
O
GridmapDesired path
Actual pathodometry only
Basilio Bona – DAUIN – Politecnico di Torino 001/23
Gridmap
Other TasksC
Y
1. Task/action planning: how to decompose a task/action into elementary sub-tasks and moves
02
CFI
C y
2. Path planning: the search for a geometric path in the environment
CFI
DV
3. Mapping: how to build environment maps (geometrical vssemantic)
CA
–0
1 4. Localization: where am I?
5. Simultaneous Localization and Mapping (SLAM): build a map and localize itself in it while moving
OB
OTI
C map and localize itself in it while moving
RO
Basilio Bona – DAUIN – Politecnico di TorinoAA 2007/08 001/24
Path PlanningC
Y
Path planning: is the art of deciding which route to take, based on and expressed in terms of the current internal representation of the terrain
02
CFI
C
Motion planning: is the execution of this theoretical route, by translating the plan from the internal representation in terms of physical movement in the environment
CFI
DV
in the environment
Complete path generation: the complete route to be taken is created as a sequence of moves from the initial position.
CA
–0
1 as a sequence of moves from the initial position.
Next move selection: at each step, the algorithm must decide which way to move next. An efficient dynamic implementation is required
OB
OTI
C
Forward planning: the properties of the path can be taken into account by a deliberative thinking module, responsible for making founded decisions For example path lengths can be used to estimate travel time
RO decisions. For example, path lengths can be used to estimate travel-time,
which influences the agent's decision to move to a particular location.
Basilio Bona – DAUIN – Politecnico di Torino 001/25
Path PlanningC
Y
NavigationWhere am I going? Mission planningWhat’s the best way there?
02
CFI
C What s the best way there? Path planningWhere have I been? Map
ki Mi iCarto tive
CFI
DV
makingWhere am I? Localization
MissionPlanner
Carto-grapher
elib
erat
CA
–0
1 de
OB
OTI
C
BehaviorsBehaviorsBehaviorsB h i ctiv
eHow am I going to getthere?
RO Behaviors
reac
there?
Basilio Bona – DAUIN – Politecnico di Torino 001/26
Introduction to AI Robotics (MIT Press), copyright Robin Murphy 2000
Path PlanningC
Y B
02
CFI
C
Fixed obstacles
Mobile obstacles
CFI
DV
Velocity constraints
CA
–0
1
Acceleration constraints
OB
OTI
C
A
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/27
Path PlanningC
Y 2k =
k N=
02
CFI
C
1k =
CFI
DV
j
1k =
CA
–0
1 0j
0k =R
OB
OTI
C
0i0k0
R
RO
Which commands to the rover?
Basilio Bona – DAUIN – Politecnico di Torino 001/28
Path PlanningC
Y0
2C
FIC
Final pose
B
CFI
DV
Final pose
Path B
CA
–0
1 Path A
OB
OTI
C
Initial poseA
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/29
Motion PlanningC
Y0
2C
FIC
Final poseMove 3B
CFI
DV
Move 2
CA
–0
1
Move 1A
OB
OTI
C
Initial pose
A
RO
Basilio Bona – DAUIN – Politecnico di Torino 001/30
Non-holonomic constraintsC
Y Non-holonomic constraints limit the possible
02
CFI
C pincremental movements within the configuration space of the robot
CFI
DV
Robots with differential drive move on a circular trajectory and cannot move sideways
CA
–0
1
Omni-wheel robots can move sideways
OB
OTI
CR
O
Basilio Bona – DAUIN – Politecnico di Torino 001/31
Holonomic vs. Non-HolonomicC
Y
Non holonomic constraints reduce the control
02
CFI
C Non-holonomic constraints reduce the control space with respect to the current configuration (e.g., moving sideways is impossible).
CFI
DV
(e.g., moving sideways is impossible).
Holonomic constraints reduce the configuration space
CA
–0
1 space.
OB
OTI
CR
O
Basilio Bona – DAUIN – Politecnico di Torino 001/32