modeling and control - publish.illinois.edu
TRANSCRIPT
Modeling and Control12 Feb
DARPA Robotics Challenge
β’ 4 points taskβ’ Robot drives the vehicle through the
course (1)β’ Robot gets out of the vehicle and
travels dismounted out of the end zone (2)
β’ Bonus point (1)
Control?
The process of causing a system variable to conform to some desired value
Example: Cruise Control
AutoBody
Speedometer
Engine??Actualspeed
Controlvariable
Throttle
Measuredspeed
Controller
Desiredspeed
What do we want to control?
What can we use?
-> Car position and orientation
-> Steering wheel and pedal(s)
GEM system
Lane detection
Pedestrian detect. &
localization
GPS / localization
Camera
Pedestrian intent (PIE)
Decision making(DM)
Steering, throttle,
control (LCM)
Online monitoring
(OMM)
Vehicle model
Steering speed
odometryVehicle bus
Fusion: vehicle, pedestrian,
lanes localization
Sensor Perception Decision Control
Dynamical system models
Physical plantDubinβs car model
ππΏ
ππ‘= π£πΏ
ππ
ππ‘=
π£
πtan πΏ
αΆπ£ = π
ππ π₯
ππ‘= π£ cos π
ππ π¦
ππ‘= π£ sin(π)
Steering angle
Heading angle
Speed
Horizontal position
ππ₯
ππ‘= π π₯, π’
π₯ = [π£, π π₯ , π π¦, πΏ, π]
π’ = [π, π£πΏ]
State variables
Control inputs
Nonlinear dynamics
Vertical positionπ₯ π‘ + 1 = π π₯ π‘ , π’[π‘]
System dynamics
Generally, nonlinear ODEs do not have closed form solutions!
Nonlinear hybrid dynamics
9
merge left
cruise
merge right
speed up
close to front car
slow down
speeding
Decision and control software Physical plant
ππ₯
ππ‘= π π₯, π’
π₯ = [π£, π π₯ , π π¦, πΏ, π]
π’ = [π, π£πΏ]
State variables
Control inputs
π₯ π‘ + 1 = π π₯ π‘ , π’[π‘]
System dynamics
Hybrid system model
Nonlinear hybrid dynamics
Physical plant
ππ₯
ππ‘= πππππ π₯, π’
merge leftππ₯
ππ‘= πππππ‘(π₯, π’)
cruiseππ₯
ππ‘= ππππ (π₯, π’)
merge rightππ₯
ππ‘= ππππβπ‘(π₯, π’)
speed upππ₯
ππ‘= ππ’π(π₯, π’)
slow downππ₯
ππ‘= ππππ€π(π₯, π’)
Decision and control software
Interaction between computation and physics can lead to unexpected behaviors
Simplified view of a plant and a controller
Physical plant
ππ₯
ππ‘= π π₯, π’, π‘
Controller
π’ = π π₯, π‘
ππ₯
ππ‘= π π₯, π π₯ , π‘
αΆπ₯ = π π₯, π π₯ , π‘
Model?
A set of mathematical relationships among the system variables
Dynamical Systems Model
Describe behavior in terms of instantaneous lawsππ₯ π‘
ππ‘= π(π₯ π‘ , π’ π‘ , π‘)
π‘ β β, π₯ π‘ β βπ, π’ π‘ β βπ
π:βπ Γ βπ Γ β β βπdynamic function
Example: Pendulum
Pendulum equation
π₯1 = π π₯2 = αΆπ
π₯2 = αΆπ₯1
αΆπ₯2 = βπ
πsin π₯1 β
π
ππ₯2
αΆπ₯2αΆπ₯1
= β
π
πsin π₯1 β
π
ππ₯2
π₯2
π: friction coefficient
π
π
π
What is described?
-> Center of mass movement relative to the origin
Coordinate system
β’ Configuration (pose) of robot can be described by position and orientation.
Car pose = π₯π¦π
X
YEnd effector pose =
π₯π¦π§ππ₯ππ¦ππ§
Translation along the X-Axis and Y-Axis
X
NVN
VO
O
Y
αPXY + αVNO =PX + VN
PY + VO
αPXY =PxPY
αVNO = VN
VO
αVXY =
β’ Rotation matrix
π π =πππ π βπ ππππ πππ πππ π
β’ An orthogonal (orthonormal) matrixβ’ Each column is a unit length vectorβ’ Each column is orthogonal to all other columns
β’ The inverse is the same as the transposeπ (ΞΈ)β1 = π (ΞΈ)π
β’ The determinant is 1β’ Special Orthogonal group of dimension 2
π (ΞΈ) β ππ{2}
Rotation (Z-Axis)
X
Y
V
VX
VY
αVXY = VX
VYαVNO = VN
VO
= Angle of rotation between the XY and NO coordinate axis
αVXY = VX
VY=
cosΞΈ βsinΞΈsinΞΈ cosΞΈ
VN
VO
Transformation
X1
Y1
VXY
X0
Y0
VNO
P
VXY = VX
VY=
PxPy
+cosΞΈ βsinΞΈsinΞΈ cosΞΈ
VN
VO
(VN,VO)
Translation along P followed by rotation by
TurtleSim
β’ Turtle simulator
β’ simple way to learn the basics of ROS
β’ a ROS package, part of the ROS installation
β’ Explore the nodes, topics, messages, and services ( roscore, rosnode, and rostopic commands)
Is ROS important?
Locomotion of Wheeled System
Differential Drive Model Rear Wheel Model
Differential Drive Model
X1
Y1
X0
Y0
(π₯, π¦)
w
R l
π£π
π£π
Instantaneous Center of Curvature= [π₯ β π π ππ π , π¦ + π πππ π] = [πΌπΆπΆπ₯ , πΌπΆπΆπ¦]
π(π + π/2) = π£ππ(π β π/2) = π£π
π =π
2
(π£π + π£π )
(π£π β π£π )
π =π£π β π£π
π
Rear Wheel Model (Dubinβs model)
X1
Y1
X0
Y0
πΏ
π
(π₯, π¦)
αΆπ₯ = π£ πππ π
αΆπ¦ = π£ π πππ
αΆπ =π£
ππ‘πππΏ
Car (real wheel) pose = π₯π¦π
Car length = π
Car (front wheel) steering angle = Ξ΄
Car speed = π£
Rear Wheel Model (Dubinβs model)
X1
Y1
X0
Y0
πΏ
π
(π₯, π¦)
αΆπ₯ = π£ πππ π
αΆπ¦ = π£ π πππ
αΆπ =π£
ππ‘πππΏ
Car (real wheel) pose = π₯π¦π
Car length = π
Car (front wheel) steering angle = Ξ΄
Car speed = π£
R
π ππ = πππ
π ππ
ππ‘=πππππ‘
π‘πππΏ =π
π
πΏ
= π£
π =π
π‘πππΏ