ecse 4962 control systems design more on control...
TRANSCRIPT
![Page 1: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/1.jpg)
ECSE 4962 Control Systems Design
Instructor: Professor John T. Wen
TA: Ben Potsaid
http://www.cat.rpi.edu/~wen/ECSE4962S04/
More on Control Design
![Page 2: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/2.jpg)
Progress Report
• Postponed until March 24.
• Keep CII 2037 clean (throw away all trash!). Let me know if you notice any unbecoming behavior.
![Page 3: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/3.jpg)
Progress Report
• Must contain your control specification and justification
• Time domain: rise time, settling time, steady state error, tracking error
• Frequency domain: bandwidth (based on desired trajectory and disturbance rejection), robustness
• Must contain analytical model, model based control design, and spec verification at least in simulation.
![Page 4: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/4.jpg)
Progress Report
• Must contain some experimental results (e.g., friction ID, initial control results – based on your model.)
• Must compare progress against schedule.
• As a good example, check out Group 6’s reports and presentations on last year’s web page.
![Page 5: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/5.jpg)
Final Report
• Final report must contain discussion of societal impact (e.g., similar products/prototypes/ideas, intellectual property, manufacturing issues, safety, economics, privacy, …)
![Page 6: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/6.jpg)
Today
• Velocity estimation • A bit more on ID• Compensation for nonlinearity (feedback
linearization)• Trajectory tracking• Nonlinear pan-tilt model
• Friction ID: give a large pulse initially to break stiction.
t
V(t)
![Page 7: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/7.jpg)
Addition Considerations
• Velocity Estimation– washout filter– finite difference + low pass filter– Kalman predictor (state observer based on
assumed plant )
+
=1
)(
ps
ssG
uy =&&
• Sampling: 3 to 10 times faster than closed loop bandwidth
![Page 8: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/8.jpg)
More on ID
sgn( )v cI B B KVθ θ θ+ + =&& & &• Friction ID: Bv /K , Bc /K• K=N Kt Ka
N = Nmotor Next.gear
Kt = motor constant N-m/A (from data sheet)Ka = 0.1 A/V (Ben Potsaid’s calibration)
• Double check: take off timing belt, friction should be close to the values in the motor data sheet
![Page 9: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/9.jpg)
How to get the full model?
• For a constant voltage V, the response is a first order exponential with time constant Bv /I
sgn( )v cB B KV
I I Iθ θ θ+ + =&& & &
( )1
22 1
( ) 1
( )1
1ln
( )( ) 1
tss
v ss
ss
t e
tB
tI t t
σθ θ
θθσ
θθ
−= −
−
= = −− −
& &&&
&&
Average over different input voltages and time intervals (avoid noisy regions!)
![Page 10: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/10.jpg)
How to get the full model? (Cont.)
• Once Bv /I is found, we can find K /I :
v
v
BKI
B IK
=
Now we have the full model for control design!
• Then Bc /I :c cB BK
K I I=
sgn( )v cB B KV
I I Iθ θ θ+ + =&& & &
![Page 11: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/11.jpg)
Feedback Linearization
• Equation of motion:
• If we have a good model, we can just cancel all the nonlinear terms!
• Then we get
• If friction not very well known, we can just use
uθ =&&
1 2 3 4
4
sgn( ) sin
(For pan axis: 0)
a a a V a
a
θ θ θ θ+ + = +=
&& & &
( )( )1 2 43
1sgn( ) sinV u a a a
aθ θ θ= + + −& &
( )43
1sinV u a
aθ= − 1 2 sgn( )a a uθ θ θ+ + =&& & &
![Page 12: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/12.jpg)
Feedback Linearization (Cont.)
• Pro: control design is much simpler – only need to deal with two decoupled double integrators.
• Con: Model may not be accurate, so we’ll need to identify them based on experimental data.
• Con: longer computation time (slower sampling rate)
• Con: usually larger torque requirement
![Page 13: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/13.jpg)
Given ytarget , vmax , amax , find a smooth curve yd(t) such that for some T
yd(0)=0, yd(T)=ytarget
Given ytarget , vmax , amax , find a smooth curve yd(t) such that for some T
yd(0)=0, yd(T)=ytarget
Trajectory Generation
• So far, all the point-to-point motions are implemented as steps. For smoother motion (and lower torque requirement), trajectory generation is almost always used.
max max( ) , ( )y t v y t a≤ ≤& &&
![Page 14: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/14.jpg)
Common Trajectory Generation Algorithms
0 0.2 0.4 0.6 0.8 1 1.2 1.40
0.5
1x
0 0.2 0.4 0.6 0.8 1 1.2 1.40
1
2v
0 0.2 0.4 0.6 0.8 1 1.2 1.4-5
0
5a
• spline, e.g.,used) be alsocan basis(other
33
2210 ttt)t( λλλλλ +++=
• trapezoid (bounded acceleration)
• s-curve (bounded jerk)
• others: sinusoid, sigmoid
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.5
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
1
2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-10
0
10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.5
1x
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
1
2v
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-5
0
5a
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20
0.5
1x
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20
5
10v
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2-200
0
200a
0 0.05 0.1 0.15 0.2 0.250
0.5
1x
0 0.05 0.1 0.15 0.2 0.250
5
10v
0 0.05 0.1 0.15 0.2 0.25-200
0
200a
MATLAB code for trapezoid and s-curve on-line (see trajgen.m), but you must convert them to Simulink if you’d like to use them
![Page 15: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/15.jpg)
Full Nonlinear Model
The code to generate the general equation of motion is posted: pantilt.m, you just have to run it in MATLAB to obtain the expressions for M, C, G.
To use pantilt.m, first put the mechanism in the zero-configuration (all angles are zero). Choose a coordinate frame.Represent pi-1,i , pi , hi in this coordinate frame. Then run pantilt.m.
For simulation, you need to substitute in the parameters m1, m2, I1
c, I2c, p1, p2.
![Page 16: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/16.jpg)
Pan-Tilt Platform
The pan-tilt platform is like a 2-link robot (O1 and O2 coincide).
With motors and gears attached
O2
O1
h1=[0,0,1]T
h2=[0,1,0]T
p12=[0,0,0]T
![Page 17: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/17.jpg)
First Link (Pan)
p1=[ lca1, lca2, lca3-l1]T
![Page 18: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/18.jpg)
Second Link (Tilt)
p2=[ lcb1, lcb2, lcb3]T
![Page 19: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/19.jpg)
Skeletal Pan
p1=[ 0,0.0125m, -0.0981m, 0.0590m]T
![Page 20: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/20.jpg)
Skeletal Tilt
p2=[ 0, 0.003m,0]T
0.003m
![Page 21: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/21.jpg)
Choice of Motors / Gears
You will use the design resource page http://www.cat.rpi.edu/~potsaid/csd/Resources.html to find different choices of motors and gears. Manufacturers will provide the dimension and mass, but not the location of center of mass and inertia. Take a guess of where the center of mass is (e.g., roughly the geometric center), and approximate motors and gears as cylinders with uniform density. Then you have (a guess) of the CM location and inertia which you can use in your design iteration.
![Page 22: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/22.jpg)
, cb bI m
Combining Two Bodies
, ca aI m
ap
bp
CM of combined bodies
cp
, cc cI m
( ) /c a b
c a a b b c
m m m
p m p m p m
= +
= +
( )( )
( ) ( )
2
2
( ),
( ),
Ta a a ac ac ac ac c ac
Tb b b bc bc bc bc c bc
c a bc c
I I m p I p p p p p
I I m p I p p p p p
I I I
= + − = −
= + − = −
= +
This is given in a MATLAB program compositebodies.m(which requires masscenter.m and parallelaxis.m)
![Page 23: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/23.jpg)
Adding Motors / Gears to Skeleton
For your design, you need to
• obtain m from the manufacturer’s datasheet
• calculate Ic and location of CM based on some simplifying assumptions and the geometry of the part
• determine p based on where you will mount the part
![Page 24: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/24.jpg)
An Example of Putting Things TogetherConsider the tilt axis with pulley, hub, and payload added.
![Page 25: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/25.jpg)
Putting Things Together (Cont.)
32768 Kg/m (density of Aluminum)ρ =
0.0381m (diameter of hub)
0.0630m (diameter of pulley)
0.0095m (diameter of hole)
0.0095m (thickness of hub)
0.0095m (thickness of pulley)
0.0190m (thickness of hole)
hub
pulley
hole
hub
pulley
hole
d
d
d
t
t
t
d
==
==
=
=
1 2 3, , 0.0762m, 0.0381m, 0.0095m (dimension of payload)d d =
First gather part data:
![Page 26: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/26.jpg)
Putting Things Together (Cont.)
Mass and inertia may then be found (hole has negative mass).2( / 2)m d tρπ=
22
2
22
3 0 012 2
0 02 2
0 0 312 2
c
m dt
m dI
m dt
+
= +
For a cylinder along the y axis
( )
( )
( )
2 22 3
2 21 3
2 21 2
0 012
0 012
0 012
c
md d
mI d d
md d
+ = + +
For a cube
![Page 27: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/27.jpg)
Putting Things Together (Cont.)
Determine where you are going to put these components, thus pin down p for each part.
Repeatedly apply the composite body formula to find the overall m, Ic, p
The MATLAB code for the tilt axis example is on-line in bodyb.m, you need to modify it for the pan axis.
Once you obtain m, Ic, p for both pan and tilt axes, you can substitute the values into the equation of motion. Now you are ready to do simulation!
![Page 28: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/28.jpg)
Overall Dimension
link with better pictures:http://www.cat.rpi.edu/~potsaid/csd/lect2_modeling/lecture2_modeling.html
![Page 29: ECSE 4962 Control Systems Design More on Control Designcats-fs.rpi.edu/~wenj/ECSE4962S04/moreoncontrol.pdf · Progress Report • Must contain some experimental results (e.g., friction](https://reader033.vdocuments.net/reader033/viewer/2022060718/607ed3059b796e5e107049dc/html5/thumbnails/29.jpg)
Next Week
• Spring break! But get ready for your progress report presentation.
Tomorrow at 6pm in CII 2037
• Group 1: 6pm, Group 2: 6:15pm, Group 3: 6:30pm, Group 4: 6:45pm, Group 5: 7:00pm, Group 6:7:15pm, Group 7: 7:30pm.
• Prepare to discuss the progress of your project.
• Bring your lab notebook