1 of 46

1

MAXX WILSON | MELISSA CRUZ

MAY 2022

Final Presentation

ME397 Real-Time Control Systems Lab

2 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

Advanced Controllers

Summary and Future Work

2

3 of 46

Introduction and Objectives

Automotive suspension systems utilize active suspension to maximize passenger comfort.

Objective:

Reduce Body Acceleration

3

Elattar, Yahia & Metwalli, Sayed & Rabie, Mahmoud. (2016). PDF VERSUS PID CONTROLLER FOR ACTIVE VEHICLE SUSPENSION.

4 of 46

Introduction and Objectives

Many models can be simplified into an inverted pendulum: rocket ships, humanoids

Objective:

Regulate pendulum to vertical and specify hub setpoint

4

Schperberg, Alexander & Shirai, Yuki & Tanaka, Yusuke. (2019). Reducing Motion Perturbation for a Bipedal Robot using Model Predictive Control. 10.13140/RG.2.2.27143.55207.

5 of 46

Project Objectives

Demonstrate state estimation and various control methodologies for the Active Suspension and Inverted Pendulum, in real-time.

5

6 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

Advanced Controllers

Summary and Future Work

6

7 of 46

System Modeling - Active Suspension

7

8 of 46

System Modeling - Inverted Pendulum

8

9 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

Advanced Controllers

Summary and Future Work

9

10 of 46

Data Acquisition

Active Suspension

  • National Instruments Compact RIO
  • Samples at 500 Hz
  • 16-bit ADC (depending on cRIO model)
  • Accelerometer and Encoders

Inverted Pendulum

  • National Instruments myRIO
  • Samples at 100 Hz
  • 12-bit ADC
  • Two Encoders

10

11 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

  • Design
  • Validation

Estimators

Linear Controllers

Advanced Controllers

Summary and Future Work

11

12 of 46

Filters - Active Suspension

Objective:

  • Remove noise while capturing system dynamics

Observations:

  • Nyquist frequency (~1500 rad/s) exceeds bandwidth of body velocity (~70 rad/s)
  • Velocity estimate from acceleration is always attenuated by integrator

Outcome:

  • Place initial cutoff frequencies at bandwidth frequency

12

13 of 46

Filters - Inverted Pendulum

13

Observation:

  • No 3dB cutoff frequency for hub and pendulum velocity

Outcome:

  • Initial filters set to Nyquist frequency (50Hz or 314 rad/s)

14 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

  • Design
  • Validation

Estimators

Linear Controllers

Advanced Controllers

Summary and Future Work

14

15 of 46

Filters - Active Suspension

15

16 of 46

Filters - Active Suspension

16

17 of 46

Filters - Inverted Pendulum

Observation:

  • Experimentation saw error at small amplitudes from ADC resolution

Outcome:

  • Moved cutoff to 50 rad/s and damping of 0.707.

17

18 of 46

Filters - Inverted Pendulum

Observation:

  • Experimentation saw error at small amplitudes from ADC resolution

Outcome:

  • Moved cutoff to 50 rad/s and damping of 0.707.

18

19 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

  • Design
  • Validation

Linear Controllers

Advanced Controllers

Summary and Future Work

19

20 of 46

Active Suspension Kalman Filter

Estimation of sensor variance:

  • Estimated encoder variance to be 1/100th mm by recording measurement resolution
  • In practice, bias will contribute more to encoder inaccuracies than resolution/noise (which are very small)
  • Set encoder variance to 3mm to match default resolution of Labview script
  • Estimated accelerometer variance using average sensor noise of system at rest
  • Final R Matrix values: 3 mm for encoder, 0.0017 m^2/s^4 for accelerometer

20

Encoder Resolution

21 of 46

Inverted Pendulum Linear Observer

Given state space model of system, check observability in Matlab

For initial guess, set Observer poles around 10x faster than system poles and solve for gains

21

System Poles

Observer Poles

Observer Gains

22 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

  • Design
  • Validation

Linear Controllers

Advanced Controllers

Summary and Future Work

22

23 of 46

Active Suspension Kalman Filter

23

Tire Position/Velocity

Vehicle Body Position/Velocity

24 of 46

Active Suspension Kalman Filter

24

Kalman Filtering Results:

  • Tuning and validating was very difficult
  • Assumption of linear dynamics degrades performance (motivates Extended or Unscented Kalman Filter)
  • Unmodeled dynamics/disturbances are problematic
  • May be beneficial to use accelerometer to estimate road velocity disturbance
  • Without estimation of disturbance, model performs worse in transients and lags true state

25 of 46

Inverted Pendulum Linear Observer

25

Experimental Adjustments:

  • Removed imaginary component to reduce oscillation
  • Pushed poles farther left to increase tracking performance

Outcomes:

  • Good position tracking, high gain velocity tracking resulted in oscillation

26 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

  • Design
  • Validation / Discussion

Advanced Controllers

Summary and Future Work

26

27 of 46

Active Suspension LQR Design

27

Determine initial Q and R using Bryson’s Rule

Initial maximum allowable force magnitude, ui : 25 N

Half of the saturation limit in Labview

Initial max acceptable value of states, xi: determined by system response to 1 cm disturbance

Uncontrolled body velocity (blue) and tire velocity (red) for periodic 1cm disturbance

Uncontrolled body acceleration for periodic 1cm disturbance

28 of 46

Active Suspension LQR Design

28

Included 2nd order low pass filter from Lab 3 to decrease system oscillations from noise

Final “Bryson’s Rule” Weights

29 of 46

Inverted Pendulum Pole Placement

29

Initial controller poles placed on left hand side

K =�-0.0023�1.6532�-0.5518�0.0317

Used 2nd order low pass filter from Lab 3 to reduce oscillations from noise

2nd order low pass filter performance

30 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

  • Design
  • Validation / Discussion

Advanced Controllers

Summary and Future Work

30

31 of 46

Inverted Pendulum Pole Placement

31

Simulated Response Experimental Response

Hub response for 20° Periodic reference, Pendulum response for 0° reference

Experimentally Determined Poles:

p1 = -7; p2 = -70; p3 = -6; p4 = -5;

K = -3.39, 21.71, -2.36, 2.89

32 of 46

Active Suspension LQR Results

32

Simulation Results:

Controlled body velocity (blue) and tire velocity (red) for periodic 1cm disturbance

Uncontrolled body acceleration for periodic 1cm disturbance

Experimental Results for 1 cm periodic disturbance:

33 of 46

Active Suspension LQR Results

33

Experimental Results for 1 cm periodic disturbance (cont.):

34 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

Advanced Controllers

  • Design
  • Simulation
  • Validation / Discussion

Summary and Future Work

34

35 of 46

Model Predictive Control - Formulation

35

Model Predictive Controller Attributes:

  • Unconstrained Quadratic Programing problem
  • Quadratic cost function
  • Control inputs as sole optimization variables allows for longer prediction horizon
  • “Shooting Method”

Experiment Steps:

  • Convert algorithm for system matrices into code
  • Normalize weights by horizon to decouple them for tuning
  • Measure execution speed to estimate acceptable horizons

36 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

Advanced Controllers

  • Design
  • Simulation
  • Validation / Discussion

Summary and Future Work

36

37 of 46

Model Predictive Control - Active Suspension

37

Simulation:

  • Started at default weights, as MPC tuning is intuitive and simulation is safe/quick
  • Decreased position weight
  • Increased body velocity weight
  • Added small weight to tire velocity to dampen high frequency oscillations
  • Increased effort weight to limit within saturation

Final Parameters:

Natural Response, f=0.3Hz, A=0.01m

Forced Response, f=0.3Hz, A=0.01m

38 of 46

Model Predictive Control - Inverted Pendulum

38

Initial Parameters:

Caused excessively large control inputs

Final Parameters:

Decreased hub angle weight

Added small hub velocity weight for damping

Increased control input weight to fit within saturation

39 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

Advanced Controllers

  • Design
  • Simulation
  • Validation / Discussion

Summary and Future Work

39

40 of 46

Model Predictive Control - Active Suspension

40

Reducing passenger acceleration is the priority!

41 of 46

Model Predictive Control - Active Suspension

41

42 of 46

Model Predictive Control - Inverted Pendulum

42

43 of 46

Presentation Roadmap

Introduction and Objectives

System Modeling

Data Acquisition

Filters

Estimators

Linear Controllers

Advanced Controllers

Summary and Future Work

43

44 of 46

Summary and Future Work

To conclude, using the Active Suspension and Inverted Pendulum we’ve shown:

  • 1st and 2nd Order Low Pass Filters
  • Linear Observer and Kalman Filter Estimators
  • Linear Control through Pole Placement and LQR
  • Advanced Control using Model Predictive Control
  • Simulation and Experimental Validation

44

45 of 46

Summary and Future Work

Notable areas of future work include:

  • Improved state estimation models
    • Linearization of full non-linear models
    • Estimation of previously unmodeled and untracked disturbances
  • Improving smoothness in pendulum MPC
    • Add jerk component to cost function
    • Increase control horiz
  • Add constraints and initial guess to MPC
  • Run MPC at lower frequency and buffer/interpolate control inputs

45

46 of 46

Questions?

46