modeling and control - publish.illinois.edu
TRANSCRIPT
![Page 1: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/1.jpg)
Modeling and Control12 Feb
![Page 2: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/2.jpg)
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)
![Page 3: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/3.jpg)
![Page 4: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/4.jpg)
Control?
The process of causing a system variable to conform to some desired value
![Page 5: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/5.jpg)
Example: Cruise Control
AutoBody
Speedometer
Engine??Actualspeed
Controlvariable
Throttle
Measuredspeed
Controller
Desiredspeed
![Page 6: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/6.jpg)
What do we want to control?
What can we use?
-> Car position and orientation
-> Steering wheel and pedal(s)
![Page 7: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/7.jpg)
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
![Page 8: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/8.jpg)
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!
![Page 9: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/9.jpg)
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
![Page 10: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/10.jpg)
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
![Page 11: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/11.jpg)
Simplified view of a plant and a controller
Physical plant
ππ₯
ππ‘= π π₯, π’, π‘
Controller
π’ = π π₯, π‘
ππ₯
ππ‘= π π₯, π π₯ , π‘
αΆπ₯ = π π₯, π π₯ , π‘
![Page 12: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/12.jpg)
Model?
A set of mathematical relationships among the system variables
![Page 13: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/13.jpg)
Dynamical Systems Model
Describe behavior in terms of instantaneous lawsππ₯ π‘
ππ‘= π(π₯ π‘ , π’ π‘ , π‘)
π‘ β β, π₯ π‘ β βπ, π’ π‘ β βπ
π:βπ Γ βπ Γ β β βπdynamic function
![Page 14: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/14.jpg)
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
![Page 15: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/15.jpg)
Coordinate system
β’ Configuration (pose) of robot can be described by position and orientation.
Car pose = π₯π¦π
X
YEnd effector pose =
π₯π¦π§ππ₯ππ¦ππ§
![Page 16: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/16.jpg)
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 =
![Page 17: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/17.jpg)
β’ 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
![Page 18: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/18.jpg)
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
![Page 19: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/19.jpg)
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)
![Page 20: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/20.jpg)
Is ROS important?
![Page 21: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/21.jpg)
Locomotion of Wheeled System
Differential Drive Model Rear Wheel Model
![Page 22: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/22.jpg)
Differential Drive Model
X1
Y1
X0
Y0
(π₯, π¦)
w
R l
π£π
π£π
Instantaneous Center of Curvature= [π₯ β π π ππ π , π¦ + π πππ π] = [πΌπΆπΆπ₯ , πΌπΆπΆπ¦]
π(π + π/2) = π£ππ(π β π/2) = π£π
π =π
2
(π£π + π£π )
(π£π β π£π )
π =π£π β π£π
π
![Page 23: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/23.jpg)
Rear Wheel Model (Dubinβs model)
X1
Y1
X0
Y0
πΏ
π
(π₯, π¦)
αΆπ₯ = π£ πππ π
αΆπ¦ = π£ π πππ
αΆπ =π£
ππ‘πππΏ
Car (real wheel) pose = π₯π¦π
Car length = π
Car (front wheel) steering angle = Ξ΄
Car speed = π£
![Page 24: Modeling and Control - publish.illinois.edu](https://reader030.vdocuments.us/reader030/viewer/2022040605/624ae807d2d69c45fb1de69e/html5/thumbnails/24.jpg)
Rear Wheel Model (Dubinβs model)
X1
Y1
X0
Y0
πΏ
π
(π₯, π¦)
αΆπ₯ = π£ πππ π
αΆπ¦ = π£ π πππ
αΆπ =π£
ππ‘πππΏ
Car (real wheel) pose = π₯π¦π
Car length = π
Car (front wheel) steering angle = Ξ΄
Car speed = π£
R
π ππ = πππ
π ππ
ππ‘=πππππ‘
π‘πππΏ =π
π
πΏ
= π£
π =π
π‘πππΏ