Skip to content

Commit cb4d6f0

Browse files
committed
Initial commit v4p4
1 parent b175da0 commit cb4d6f0

25 files changed

+343
-207
lines changed

.SimulinkProject/Root.type.Files/Workflows.type.File/Optimize.type.File/Design.type.File/sm_car_parStr2Abb.m.type.File.xml renamed to .SimulinkProject/Root.type.Files/Testrigs.type.File/Quarter_Car.type.File/Sweep_Optim.type.File/sm_car_parStr2Abb.m.type.File.xml

File renamed without changes.

.SimulinkProject/Root.type.Files/Testrigs.type.File/Quarter_Car.type.File/Sweep_Optim.type.File/html.type.File/testrig_quarter_car_sweep_optim_test_10.png.type.File.xml renamed to .SimulinkProject/Root.type.Files/Workflows.type.File/Reducer.type.File/FSAE.type.File/testrig_quarter_car_sweep_optim_test_FSAE.m.type.File.xml

File renamed without changes.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ adjust the libraries so that variant can be selected.
3434

3535

3636
### **Release History**
37+
**v4.4 -- August 2025**
38+
1. Moved functions for kinematics and compliance calculations
39+
2. Added hyperlinks to quarter car testrigs for full set of KnC calculations
40+
3741
**v4.3 -- August 2025**
3842
1. Added solid axle, 2 trailing arm, Panhard rod, steerable suspension.
3943
2. Added solid axle, 2 trailing arm, A-arm, steerable suspension.

Testrigs/Quarter_Car/Sweep_Optim/html/testrig_quarter_car_sweep_optim_test.html

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<title>Tuning Suspension Hardpoints to Meet Target Performance Metrics</title>
1010
<meta name="generator" content="MATLAB 24.2">
1111
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/">
12-
<meta name="DC.date" content="2025-06-25">
12+
<meta name="DC.date" content="2025-08-12">
1313
<meta name="DC.source" content="testrig_quarter_car_sweep_optim_test.m">
1414
<style type="text/css">
1515
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outine:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
@@ -153,22 +153,22 @@ <h2 id="4">Conduct Parameter Sweep</h2>
153153
<pre class="codeinput">[simInput, simOut, TSuspMetricsSet] = <span class="keyword">...</span>
154154
testrig_quarter_car_sweep_run(mdl,Vehicle,par_list,Maneuver);
155155
</pre>
156-
<pre class="codeoutput">[25-Jun-2025 18:11:32] Running simulations...
157-
[25-Jun-2025 18:11:43] Completed 1 of 15 simulation runs
158-
[25-Jun-2025 18:11:46] Completed 2 of 15 simulation runs
159-
[25-Jun-2025 18:11:49] Completed 3 of 15 simulation runs
160-
[25-Jun-2025 18:11:51] Completed 4 of 15 simulation runs
161-
[25-Jun-2025 18:11:54] Completed 5 of 15 simulation runs
162-
[25-Jun-2025 18:11:57] Completed 6 of 15 simulation runs
163-
[25-Jun-2025 18:12:00] Completed 7 of 15 simulation runs
164-
[25-Jun-2025 18:12:03] Completed 8 of 15 simulation runs
165-
[25-Jun-2025 18:12:06] Completed 9 of 15 simulation runs
166-
[25-Jun-2025 18:12:09] Completed 10 of 15 simulation runs
167-
[25-Jun-2025 18:12:12] Completed 11 of 15 simulation runs
168-
[25-Jun-2025 18:12:15] Completed 12 of 15 simulation runs
169-
[25-Jun-2025 18:12:19] Completed 13 of 15 simulation runs
170-
[25-Jun-2025 18:12:24] Completed 14 of 15 simulation runs
171-
[25-Jun-2025 18:12:29] Completed 15 of 15 simulation runs
156+
<pre class="codeoutput">[12-Aug-2025 23:12:01] Running simulations...
157+
[12-Aug-2025 23:12:12] Completed 1 of 15 simulation runs
158+
[12-Aug-2025 23:12:15] Completed 2 of 15 simulation runs
159+
[12-Aug-2025 23:12:17] Completed 3 of 15 simulation runs
160+
[12-Aug-2025 23:12:20] Completed 4 of 15 simulation runs
161+
[12-Aug-2025 23:12:22] Completed 5 of 15 simulation runs
162+
[12-Aug-2025 23:12:25] Completed 6 of 15 simulation runs
163+
[12-Aug-2025 23:12:28] Completed 7 of 15 simulation runs
164+
[12-Aug-2025 23:12:31] Completed 8 of 15 simulation runs
165+
[12-Aug-2025 23:12:34] Completed 9 of 15 simulation runs
166+
[12-Aug-2025 23:12:36] Completed 10 of 15 simulation runs
167+
[12-Aug-2025 23:12:39] Completed 11 of 15 simulation runs
168+
[12-Aug-2025 23:12:42] Completed 12 of 15 simulation runs
169+
[12-Aug-2025 23:12:44] Completed 13 of 15 simulation runs
170+
[12-Aug-2025 23:12:47] Completed 14 of 15 simulation runs
171+
[12-Aug-2025 23:12:50] Completed 15 of 15 simulation runs
172172
</pre>
173173
<img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_03.png" alt=""> <img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_04.png" alt=""> <h2 id="5">Display and Plot the Results of Sweep</h2>
174174
<p>The parameter values tested and performance metric are shown in a table. For tests with two performance metrics, two surface plots are shown. Each surface plot shows how a performance metric varies as the parameter values are modified.</p>
@@ -248,24 +248,24 @@ <h2 id="4">Conduct Parameter Sweep</h2>
248248
Names Values Units Description
249249
_____________ _______ _______ ____________________
250250

251-
"Bump Steer" 4.0275 "deg/m" "+/- 10mm, +Toe In"
251+
"Bump Steer" 4.0282 "deg/m" "+/- 10mm, +Toe In"
252252
"Bump Camber" -24.295 "deg/m" "+/- 10mm, +Top Out"
253253

254254

255255

256256
Iter Func-count f(x) MeshSize Method
257-
0 1 25.6612 0.04
258-
1 5 12.8722 0.08 Successful Poll
259-
2 9 12.6881 0.16 Successful Poll
260-
3 11 12.6881 0.04 Refine Mesh
261-
4 15 0.551972 0.08 Successful Poll
262-
5 19 0.551972 0.02 Refine Mesh
263-
6 23 0.551972 0.005 Refine Mesh
264-
7 27 0.551972 0.00125 Refine Mesh
265-
8 31 0.132811 0.0025 Successful Poll
266-
9 35 0.132811 0.000625 Refine Mesh
257+
0 1 25.6617 0.04
258+
1 5 12.8727 0.08 Successful Poll
259+
2 9 12.6871 0.16 Successful Poll
260+
3 11 12.6871 0.04 Refine Mesh
261+
4 15 0.552055 0.08 Successful Poll
262+
5 19 0.552055 0.02 Refine Mesh
263+
6 23 0.552055 0.005 Refine Mesh
264+
7 27 0.552055 0.00125 Refine Mesh
265+
8 31 0.132833 0.0025 Successful Poll
266+
9 35 0.132833 0.000625 Refine Mesh
267267
patternsearch stopped because the mesh size was less than options.MeshTolerance.
268-
Elapsed time for optimization = 153.2527
268+
Elapsed time for optimization = 95.8254
269269

270270
Metrics with Optimized Set of Parameter Values
271271

@@ -276,7 +276,7 @@ <h2 id="4">Conduct Parameter Sweep</h2>
276276
Names StartValue FinalValues tgtValue Units Description
277277
_____________ __________ ___________ ________ _______ ____________________
278278

279-
"Bump Steer" 4.0275 -35.751 -36 "deg/m" "+/- 10mm, +Toe In"
279+
"Bump Steer" 4.0282 -35.751 -36 "deg/m" "+/- 10mm, +Toe In"
280280
"Bump Camber" -24.295 -13.017 -13 "deg/m" "+/- 10mm, +Top Out"
281281

282282

@@ -291,12 +291,12 @@ <h2 id="4">Conduct Parameter Sweep</h2>
291291
0.23 0.22
292292

293293
</pre>
294-
<img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_07.png" alt=""> <img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_08.png" alt=""> <p>The plots below show add the performance metrics from the new design. Values for the hardpoint locations were found that result in performance metric values quite close to the target values.</p>
294+
<img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_07.png" alt=""> <p>The plots below show add the performance metrics from the new design. Values for the hardpoint locations were found that result in performance metric values quite close to the target values.</p>
295295
<pre class="codeinput">bs_i = find(strcmp(TSuspMetrics.Names,metricName{1}));
296296
<span class="keyword">if</span>(~isempty(ax_bs))
297297
hold(ax_bs,<span class="string">'on'</span>)
298298
plot3(ax_bs,xFinal(1),xFinal(2),TSuspMetrics.Values(bs_i),<span class="keyword">...</span>
299-
<span class="string">'bs'</span>,<span class="string">'MarkerFaceColor'</span>,<span class="string">'b'</span>,<span class="string">'MarkerSize'</span>,8);
299+
<span class="string">'bs'</span>,<span class="string">'MarkerFaceColor'</span>,<span class="string">'b'</span>,<span class="string">'MarkerSize'</span>,8,<span class="string">'DisplayName'</span>,<span class="string">'Tuned'</span>);
300300
hold(ax_bs,<span class="string">'off'</span>)
301301
<span class="keyword">end</span>
302302

@@ -305,11 +305,11 @@ <h2 id="4">Conduct Parameter Sweep</h2>
305305
<span class="keyword">if</span>(~isempty(ax_bc))
306306
hold(ax_bc,<span class="string">'on'</span>)
307307
plot3(ax_bc,xFinal(1),xFinal(2),TSuspMetrics.Values(bc_i),<span class="keyword">...</span>
308-
<span class="string">'bs'</span>,<span class="string">'MarkerFaceColor'</span>,<span class="string">'b'</span>,<span class="string">'MarkerSize'</span>,8);
308+
<span class="string">'bs'</span>,<span class="string">'MarkerFaceColor'</span>,<span class="string">'b'</span>,<span class="string">'MarkerSize'</span>,8,<span class="string">'DisplayName'</span>,<span class="string">'Tuned'</span>);
309309
hold(ax_bc,<span class="string">'off'</span>)
310310
<span class="keyword">end</span>
311311
</pre>
312-
<img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_09.png" alt=""> <img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_10.png" alt=""> <h2 id="8">Workflow Using MATLAB App</h2>
312+
<img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_08.png" alt=""> <img vspace="5" hspace="5" src="testrig_quarter_car_sweep_optim_test_09.png" alt=""> <h2 id="8">Workflow Using MATLAB App</h2>
313313
<p>An App lets you select the hardpoint coordinates you wish to sweep or optimize. You can select the range and increment for a sweep, and you can select the range and target performance metric for an optimization. Once you have configured your sweep or optimization, press the Run button.</p>
314314
<p>Anything done with the App can also be done using MATLAB functions. As you configure and run the test, commands are echoed to the MATLAB command window so you know which commands will automate those steps.</p>
315315
<p>
@@ -509,7 +509,7 @@ <h2 id="4">Conduct Parameter Sweep</h2>
509509
if(~isempty(ax_bs))
510510
hold(ax_bs,'on')
511511
plot3(ax_bs,xFinal(1),xFinal(2),TSuspMetrics.Values(bs_i),...
512-
'bs','MarkerFaceColor','b','MarkerSize',8);
512+
'bs','MarkerFaceColor','b','MarkerSize',8,'DisplayName','Tuned');
513513
hold(ax_bs,'off')
514514
end
515515
@@ -518,7 +518,7 @@ <h2 id="4">Conduct Parameter Sweep</h2>
518518
if(~isempty(ax_bc))
519519
hold(ax_bc,'on')
520520
plot3(ax_bc,xFinal(1),xFinal(2),TSuspMetrics.Values(bc_i),...
521-
'bs','MarkerFaceColor','b','MarkerSize',8);
521+
'bs','MarkerFaceColor','b','MarkerSize',8,'DisplayName','Tuned');
522522
hold(ax_bc,'off')
523523
end
524524
7 Bytes
Loading
-61 Bytes
Loading
-1 Bytes
Loading
-62 Bytes
Loading
-60 Bytes
Loading
2 Bytes
Loading

0 commit comments

Comments
 (0)