Skip to content
Snippets Groups Projects

Improvements derived from semestral work

Open Jakub Vaněk requested to merge vanekj19/quanser-active-suspension:jv-updates into master
22 files
+ 358
1
Compare changes
  • Side-by-side
  • Inline
Files
22
+ 80
0
# Measured data
This dataset contains different types of experiments:
* responses to steps in road height,
* responses to steps in actuator force,
* responses to sine sweep in road height,
* responses to sine sweep in actuator force.
The data format is similar to the format used for the original identification
dataset. The data can be loaded into Matlab workspace using
```matlab
load road_step_slow.mat
```
Up to three new data structs will then appear in the workspace:
- `measured_pos_ol_response`
- This struct contains the measured road height and the heights of lower and upper masses.
- The columns correspond to `[zr zus zs]` -- road height, lower mass height and upper mass height.
- This struct is always present.
- `measured_acc_ol_response`
- This struct contains a **low-pass-filetered** signal from the accelerometer mounted on the upper mass.
- The columns correspond to `[acc]` -- just the accelerometer signal.
- The low-pass filter is a second-order low pass filter with ωₙ = 70 rad/sec and ζ = 1.
- This struct is sometimes missing.
- `control_signal`
- This struct contains the signals that were sent into the physical model.
- The columns correspond to `[zr_ref actuator_out]` -- road height reference and actuator output signal.
- This struct is sometimes missing. However, it is never missing when the
file contains a response to a change in actuator force -- this struct
contains which exact signal was applied.
This can be demonstrated by plotting the data:
```matlab
figure(1)
plot(measured_pos_ol_response.time, measured_pos_ol_response.signals.values)
legend('zr','zus','zs')
xlabel('Time [s]')
ylabel('Measured positions [m]')
grid on
figure(2)
plot(measured_acc_ol_response.time, measured_acc_ol_response.signals.values)
legend('d2/dt2 zs')
xlabel('Time [s]')
ylabel('Measured acceleration [m/s2]')
grid on
figure(3)
plot(control_signal.time, control_signal.signals.values)
legend('target road height', 'actuator output signal')
xlabel('Time [s]')
ylabel('Control signal [-]')
grid on
```
## List of experiments:
### Actuator step
- `actuator_step.mat` - basically that.
### Actuator sweep
- `actuator_sweep.mat` - sweep from "middle" to "high" frequencies.
- `actuator_sweep_lf.mat` - sweep covering "low" frequencies.
- `actuator_sweep_lf_longer.mat` - sweep trying to cover the resonant peak of the model.
- `actuator_sweep_lf_longer_v2.mat` - sweep trying to cover the resonant peak of the model.
- `actuator_sweep_reversed.mat` - sweep from going from "high" to "middle" frequencies. The goal of this experiment to reduce the effect of static friction at low frequencies.
### Road step
- `road_step_slow.mat` - response of the system when the road platform is subjected to ramped steps in the reference signal.
- `road_step_fast.mat` - response of the system when the road platform is subjected to immediate jumps in the reference signal.
This goal of this experiment was to excite the system more than in `road_step_slow.mat`.
### Road sweep
- `road_sweep_normal.mat` - sweep from "middle" to "semi-high" frequencies.
- `road_sweep_normal_2.mat` - sweep from "middle" to "semi-high" frequencies.
- `road_sweep_long.mat` - sweep from "middle" to "high" frequencies.
- `road_sweep_normal_reversed.mat` - sweep from "high" to "middle" frequencies. The goal was again to reduce the effect of static friction.
- `road_sweep_lf.mat` - sweep covering "low" frequencies.
Loading